我不相信這是Ember.js: Prevent destroying of views重複。我發現的其他相關問題已過時。
如果後來變得過時,我使用Ember 1.7.0和Handlebars 1.3.0。
語境的問題:
正如標題狀態,我想知道如何在不破壞他們的觀點之間轉換。用queryParams
做不是解決我的問題。
我創建具有以下嵌套視圖計算器:
>>Calculator View
>>Report View (hasMany relationship to Calculator)
--School Partial (I am using queryParams here)
我能夠在Report
意見就好了不會破壞我的School
部分之間進行導航,因爲我使用queryParams
和使用displaySchoolPartial
布爾值顯示/隱藏部分。下面的示例:
報告模板(剝離,只顯示重要組成部分):
<script type="text/x-handlebars" data-template-name="calculator/report">
...
{{#link-to "calculator.report" (query-parameters displaySchoolPartial="true")}}
{{render "_school"}}
</script>
學校模板(也剝了下來):
<script type="text/x-handlebars" data-template-name="_school">
{{#with controllers.calculatorReport}}
<div {{bind-attr class=":schoolPartialWrapper displaySchoolPartial::hide-element"}}>
...
</div>
{{/with}}
</script>
可正常工作。如前所述,在不同的Report
視圖和School
部分之間導航不會破壞視圖。
問題:導航到Calculator
視圖時
我的問題來了,Report
視圖被破壞,然後破壞了我的School
視圖。我不想也用queryParams
來取代我的Report
的意見。
我需要確保視圖不被破壞的原因是因爲我在School
部分中有3000個學校的選擇框。重新渲染它需要很長的時間。簡單地顯示/隱藏Report
視圖將會是一個更好的用戶體驗。
我同意你的第一句話100%。我已經改變了我的實現。我只是想出於好奇而想知道。 – jperezov 2014-09-12 11:51:33
儘管關於「{{render}}」的使用,我已經在'School'部分使用了它。如果我將它用於「Report」部分,我將如何定義路線?它是否在通常的'App.Router.map'函數中工作? – jperezov 2014-09-12 11:52:36