2013-08-19 110 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

相关问题