Question

Je travaille sur une application EmberJS pendant environ une semaine maintenant, et ai écrit mon propre adaptateur localStorage pour EmberJS / données pour permettre la persistance des données. L'application est une petite application de prise de notes. Idéalement, je voudrais avoir un modèle d'ordinateur portable qui a de nombreux modèles de notes qui y sont associés.

Cependant, je n'ai pas trouvé un moyen de le faire que les résultats dans un tableau mutable. Alors que vous pouvez "mettre en œuvre" une relation 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)
});

... la ModelArray créée par la méthode hasMany est immuable dans EmberJS. Il semble que cela est actuellement en cours d'élaboration - il y a une « association » branche de EmberJS / données ici - mais la modification du ModelArray est essentiel à cette application, à-dire créer une nouvelle note:

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

Bien que la toute dernière commettras de EmberJS / données ne comprend mutabilité de tableau, il manque encore une sorte d'observation -. L'adaptateur est pas averti en cas de modification, et ils ne sont pas enregistrés

Je me demande: quelle est la meilleure alternative à une association hasMany jusqu'à ce que cette capacité est ajoutée à EmberJS / données? Je l'ai regardé dans différents modèles, comme ayant un mot tableau ID dans le modèle d'ordinateur portable avec une sorte de chercher / récupérer l'interface pour aller avec elle, mais je suis devenu absolument nulle part. J'ai passé une très bonne partie d'aujourd'hui en essayant de trouver la meilleure façon de le faire, et tout ce que j'ai beaucoup de frustration.

Était-ce utile?

La solution

Ember-données y arriver par la suite. Jusque-là, je muter actuellement un peu le tableau et appeler manuellement toutes les méthodes de stockage correspondant à refléter la mutation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top