控制器和controller.content之间的区别

时间:2013-08-19 12:30:49

标签: ember.js

我有一个ArrayController并且使用{{#each item in controller}}来迭代控制器中的项目。这在使用相同的控制器时工作正常,但是在切换到另一条路线后,我遇到了一些奇怪的行为,这些行为阻止了物品被重新渲染。切换到{{#each item in controller.content}}解决了这个问题。但是我不确定这是怎么发生的。

每个表达式(或其他任何表达式)中控制器和controller.content之间的区别是什么。

1 个答案:

答案 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

希望它有所帮助。