我有一個ArrayController並使用{{#each item in controller}}
來遍歷控制器中的項目。這在使用同一個控制器時工作正常,但是在切換到另一個路由後,我遇到了一些奇怪的行爲,這些行爲阻止了這些項目被重新渲染。切換到{{#each item in controller.content}}
解決了這個問題。但我不確定這是如何發生的。控制器和控制器之間的區別內容
控制器和controller.content在每個表達式(或任何其他地方)之間有什麼區別。
我有一個ArrayController並使用{{#each item in controller}}
來遍歷控制器中的項目。這在使用同一個控制器時工作正常,但是在切換到另一個路由後,我遇到了一些奇怪的行爲,這些行爲阻止了這些項目被重新渲染。切換到{{#each item in controller.content}}
解決了這個問題。但我不確定這是如何發生的。控制器和控制器之間的區別內容
控制器和controller.content在每個表達式(或任何其他地方)之間有什麼區別。
控制器和controller.content在每個表達式(或任何其他地方)之間有什麼區別。
基本上使用時從ArrayProxy
延伸的ArrayController
,則控制器this.pushObject(obj)
內將表現一樣做this.get('content').pushObject(obj)
沒有差別,例如。請參閱here以供參考。
但是IMO最好在任何地方使用model
{{#each item in model}}
。 也檢查這個答案,我想這將是有用的:Ember iterations: when to use #each User, #each user in controller, #each user in model, etc
希望它有幫助。
感謝您的回答。使用'{{#each item in model}}'實際上也解決了我所遇到的問題,並且比'controller'更具可讀性。 – cedrics
@cedric,不要忘了接受答案,如果它回答你的問題:)謝謝 – intuitivepixel
對不起,但是,我沒有得到'...但是在切換控制器之後......',你的意思是,在路線之間轉換嗎? –
是的,實際上切換到另一條路線破壞了我的綁定。我會編輯它以使其更清楚。 – cedrics