0

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

每个表达式(或其他任何地方)中的 controller 和 controller.content 有什么区别。

4

1 回答 1

0

每个表达式(或其他任何地方)中的 controller 和 controller.content 有什么区别。

基本上没有区别,例如当使用ArrayControllerwhich extends from时ArrayProxy,控制器内部的this.pushObject(obj)行为将与 do 相同this.get('content').pushObject(obj)。请参阅此处以供参考。

但是 IMO 你最好在model任何地方使用,例如{{#each item in model}}。还要检查这个我认为会有用的答案:Ember 迭代:何时使用 #each 用户、控制器中的 #each 用户、模型中的 #each 用户等

希望能帮助到你。

于 2013-08-19T13:11:35.727 回答