讓我先設置一些上下文; 我建立在角嚮導,具有這些特徵:
- 嚮導的步驟是大;每一步都有自己的控制器/ $範圍/模板。
- 嚮導中的步驟是動態的(步驟1的輸出決定下一步是step2a還是step2b)。
- 當然,應該保留step-state。當從step2返回step1時,step1視圖中的數據應該仍然存在。
在我的實現中,我在代碼庫ui-router中找到了很多靈感。
基本上我的做法是:
- 當去了一步,創造了這一步$範圍和使用$控制器服務創建控制器
- $編譯步驟模板並把這個步驟 - 模板到步 - $範圍
這一切都很好。
但是,我懷疑我的實現要退回到嚮導中: 爲了達到這個目的,我爲每個已採取的步驟保留了一組step-$ scope對象。
每當(從第二步回到步驟1的實例),我退一步:
- 查找了第一步的$範圍
- 重新編譯$模板的第一步,它重新連接到對於第一步$範圍
這似乎是工作,但是:
- 爲什麼我就不能再用編譯/鏈接TEMPL從第1步吃完了?
(這樣,我可以繼續引用編譯/鏈接的模板,而不是$ scopes) - 這是重新編譯/重新鏈接正確的方法嗎?
感謝您的時間,
公園
請分享更多的代碼... esp編譯的模板調用和編譯的模板示例 –
嗨Dave,我在這個[jsfiddle]中創建了一個工作示例(http://jsfiddle.net/ ZZXQY/5 /)。 您感興趣的功能是「invokeStep」,其中存儲了步驟的模板/範圍;和「showStepInstance」,這個狀態被恢復。 – KoenJ