Я работаю над приложением EmberJS уже около недели и написал собственный адаптер localStorage для EmberJS/Data, чтобы обеспечить постоянство данных. Приложение представляет собой небольшое приложение для заметок. В идеале я хотел бы иметь модель ноутбука, в которой есть много моделей заметок, связанных с ней.Альтернатива ассоциациям с EmberJS/данными
Однако, я не нашел способ сделать это, что приводит к изменчивому массиву. В то время как вы можете «внедрить» в hasMany отношение ...
Noted.Note = DS.Model.extend({
title: DS.attr('string'),
note_text: DS.attr('string'),
});
Noted.Notebook = DS.Model.extend({
title: DS.attr("string"),
notes: DS.hasMany(Noted.Note)
});
... ModelArray созданный методом hasMany неизменен в EmberJS. Оказывается, что это в настоящее время работает на - есть филиал «объединение» из EmberJS/Data here - но изменения ModelArray имеет решающее значение для этого приложения, чтобы т.е. создать новое примечание:
var notebook = Noted.store.createResource(Noted.Notebook, {
title: "Foo Notebook"
});
notebook.get("notes").pushObject(Noted.store.createResource(Noted.Note, {
title: "Bar Note",
note_text: "Blah blah blah."
}));
notebook.get("notes").objectAt(0).get("title") //returns undefined
Хотя очень последняя фиксация EmberJS/Data включает в себя изменчивость массива, ей все еще не хватает каких-либо наблюдений - адаптер не уведомляется о внесении изменений, и они не сохраняются.
Мне интересно: какая лучшая альтернатива ассоциации hasMany до тех пор, пока эта способность не добавится в EmberJS/Data? Я изучал разные шаблоны, например, имея массив идентификаторов заметок в модели ноутбуков с каким-то интерфейсом fetch/retrieve, чтобы идти с ним, но я ничуть не ушел. Сегодня я потратил немало денег, пытаясь найти лучший способ сделать это, и все, что у меня есть, - это много разочарования.