Я пытаюсь использовать данные ember с использованием https://github.com/emberjs/data в качестве ссылки.Данные Ember: правильный способ использования findAll
В частности, я пытаюсь использовать контроллер массива для отображения всех объектов «Person» в моей базе данных. Я также хочу разрешить пользователю создавать новый «Человек».
У меня есть следующий код, который работает:
App.peopleController = Em.ArrayController.create
content: App.store.findAll(App.Person)
newPerson: (name) ->
App.store.create App.Person,
name: name
@set('content', App.store.findAll(App.Annotation))
Однако, как представляется неэффективным переустанавливать свойству Content каждый раз, когда создается новый человек. Если удалить последнюю строку и изменить код на следующее:
App.peopleController = Em.ArrayController.create
content: App.store.findAll(App.Person)
newPerson: (name) ->
App.store.create App.Person,
name: name
Новый взгляд еще создан когда-либо newPerson вызова, но и тот же объект дублируется. Существенно, что происходит, все новые шаблоны каждый раз используют первый объект, созданный вместо нового. Я думаю, что это связано со следующей ошибкой: https://github.com/emberjs/data/issues/11.
Для справки, мой шаблон логика выглядит следующим образом:
{{#each App.peopleController}}
{{#view App.PersonView contentBinding="this"}}
{{#with content}}
Client id is {{clientId}}
{{/with}}
{{/view}}
{{/each}}
Когда я использую вторую версию моего code-- один с @set('content', App.store.findAll(App.Annotation))
line-- ClientId дублируется для каждого объекта Person. В первой версии идентификаторы клиента верны.
Может ли кто-нибудь пролить свет здесь? Правильно ли я делаю это? Мои инстинкты говорят мне, что это ошибка, но я не уверен.
Спасибо, надеюсь, скоро это исправится. – ghempton
Была ошибка. Пришел исправление и представил запрос на перенос для этой проблемы: https://github.com/emberjs/data/issues/11. – ghempton