2

Я работаю над приложением 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, чтобы идти с ним, но я ничуть не ушел. Сегодня я потратил немало денег, пытаясь найти лучший способ сделать это, и все, что у меня есть, - это много разочарования.

ответ

1

Данные Ember в конечном итоге попадут туда. До этого момента я просто мутировал массив и вручную вызывал все соответствующие методы хранения, чтобы отразить мутацию.

Смежные вопросы