我有一个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