Ember.js中ArrayController的重点是什么?

时间:2012-07-03 18:20:43

标签: javascript model-view-controller ember.js

该文档提供了一个使用此模板ArrayController的示例:

{{#each MyApp.listController}}
  {{firstName}} {{lastName}}
{{/each}}

这就是使用ArrayController的方式:

MyApp.listController = Ember.ArrayController.create();

$.get('people.json', function(data) {
  MyApp.listController.set('content', data);
});

这与使用像这样的普通数组有什么不同呢?

MyApp.listController = [];

$.get('people.json', function(data) {
  MyApp.set('listController', data);
});

2 个答案:

答案 0 :(得分:5)

如果您不需要控制器的行为,则可以使用普通数组。

ArrayController包装一个数组,并添加了一些其他属性,例如可排序的mixin。 你可以在这里看到它:

https://github.com/emberjs/ember.js/blob/master/packages/ember-runtime/lib/controllers/array_controller.js

答案 1 :(得分:5)

ember.js文档中的

说:

(http://docs.emberjs.com/symbols/Ember.ArrayController.html)

  

使用ArrayController的优点是您只需要设置   一次你的视图绑定;改变显示的内容,只需交换即可   out控制器上的content属性。

它在后台使用数组,只对使用数组的方法有帮助:

  

虽然你绑定到控制器,但这个行为   controller是通过任何方法或属性来传递的   基础数组