2013-08-19 145 views
0

我有一個ArrayController並使用{{#each item in controller}}來遍歷控制器中的項目。這在使用同一個控制器時工作正常,但是在切換到另一個路由後,我遇到了一些奇怪的行爲,這些行爲阻止了這些項目被重新渲染。切換到{{#each item in controller.content}}解決了這個問題。但我不確定這是如何發生的。控制器和控制器之間的區別內容

控制器和controller.content在每個表達式(或任何其他地方)之間有什麼區別。

+0

對不起,但是,我沒有得到'...但是在切換控制器之後......',你的意思是,在路線之間轉換嗎? –

+0

是的,實際上切換到另一條路線破壞了我的綁定。我會編輯它以使其更清楚。 – cedrics

回答

0

控制器和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

希望它有幫助。

+0

感謝您的回答。使用'{{#each item in model}}'實際上也解決了我所遇到的問題,並且比'controller'更具可讀性。 – cedrics

+0

@cedric,不要忘了接受答案,如果它回答你的問題:)謝謝 – intuitivepixel

相關問題