7

该文档有一个使用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);
});
4

2 回答 2

5

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

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

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

于 2012-07-03T18:30:31.310 回答
5

在 ember.js 文档中说:

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

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

它在后台使用数组,仅有助于使用数组的方法:

尽管您正在绑定到控制器,但此控制器的行为是将任何方法或属性传递给底层数组

于 2012-07-03T18:30:39.657 回答