2012-07-03 4 views
7

В документации есть пример с использованием ArrayController с этим шаблоном:Что такое ArrayController в Ember.js?

{{#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); 
}); 

ответ

5

Если вам не нужно поведение контроллера, вы можете использовать простой массив.

ArrayController обертывает массив с добавлением некоторых других свойств, таких как сортируемый mixin. Вы можете увидеть здесь:

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

5

в документации ember.js говорит:

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

Преимущество использования ArrayController заключается в том, что вам нужно только установить вверх по вашим привязкам вида; чтобы изменить отображаемое значение, просто замените содержимое содержимого на контроллере .

использует массив в фоновом режиме, помогает только с методами работы с массивом:

Хотя являются обязательными к контроллеру, поведение этого контроллера должны пройти через любые методы или свойства к основанию