Как загрузить модель из ember-data в шаблон handlebars.js?

У меня есть приложение Ember.js, которое получает данные из ресурса JSON и помещает их в модель Ember-данных (не уверен в терминологии) для использования в представлении Handlebars.js. Когда я пытаюсь поместить данные в контекст шаблона, я получаю эту ошибку:

TypeError: arrangedContent.addArrayObserver is not a function

Я сделал Fiddle, чтобы продемонстрировать это. Используйте фактический Fiddle для просмотра кода, используйте следующую ссылку, чтобы увидеть ошибку (которая заставляет его попытаться поместить данные в шаблон/представление):

http://fiddle.jshell.net/WZ4vt/show/#/item/1

s = App.store.find(App.Item, 1);
s.get('value1');

Вышеприведенное работает нормально и возвращает «тест».


person Davis Sorenson    schedule 22.11.2012    source источник


Ответы (1)


Я обновил скрипт: http://jsfiddle.net/WZ4vt/3/

Ваша ошибка заключалась в том, что вы объявили свой ItemController как ArrayController, но ваше хранилище данных только что вернуло один объект. Я исправил это и, кроме того, ваш шаблон Handlebars, так как он тоже не работал.

Итак, это объявление нового контроллера:

ItemController: Em.Controller.extend(),

И обновленный шаблон:

<script type="text/x-handlebars" data-template-name="item">
    {{content.value1}}
    {{content.value2}}
</script>​

Вот рабочая ссылка: http://fiddle.jshell.net/WZ4vt/3/show/#/item/1

person mavilein    schedule 22.11.2012