1
Est-il possible d'écouter ajouter, supprimer, réinitialiser, modifier l'événement d'une collection qui fait partie d'une autre collection? Par exemple: Bibliothèque comportant une collection de livres. Et chaque livre peut avoir plusieurs auteurs. Y a-t-il une manière que je puisse écouter l'événement sur les auteurs dans le modèle de bibliothèque?Backbone écouter pour modifier l'événement sur la collection de la collection
Library.js
var Library = Backbone.Model.extend({
initialize: function() {
this.get('books').on('change:authors', this.onChange);
}
}
Books.js
var Book = Backbone.Model.extend({
})
var Books = Backbone.Collection.extend({
Model: Book
})
Authors.js
var Author = Backbone.Model.extend({
})
var Authors = Backbone.Collection.extend({
Model: Author
})
S'il vous plaît clarifier quelques questions. Pourquoi la bibliothèque devrait-elle écouter les changements d'auteur (que fera-t-elle avec ces événements)? Votre serveur livrera-t-il toute la structure de données d'un ensemble de livres avec un ensemble d'auteurs (un point d'extrémité) ou modifiez-vous chaque livre avec les données d'auteur? Avez-vous besoin d'écrire des modifications sur le serveur (les auteurs sont-ils créables/modifiables)? Comment définissez-vous les auteurs de chaque livre si vous modifiez les livres (1ère question)? –
Vous devriez vraiment repenser l'écoute des collections imbriquées comme ça, c'est vraiment inefficace et rigide sur le long terme. J'éviterais même de mettre la collection dans les attributs. Il existe [différentes façons d'imbriquer une collection dans un modèle] (https://stackoverflow.com/a/40823148/1218980), choisissez judicieusement. –