我有一个ArrayController并且使用{{#each item in controller}}
来迭代控制器中的项目。这在使用相同的控制器时工作正常,但是在切换到另一条路线后,我遇到了一些奇怪的行为,这些行为阻止了物品被重新渲染。切换到{{#each item in controller.content}}
解决了这个问题。但是我不确定这是怎么发生的。
每个表达式(或其他任何表达式)中控制器和controller.content之间的区别是什么。
答案 0 :(得分:0)
每个表达式(或其他任何表达式)中控制器和controller.content之间的区别是什么。
基本上没有区别,例如当使用从ArrayController
延伸的ArrayProxy
时,控制器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
希望它有所帮助。