Dorsale: comment la fonction de déclenchement de travaux
J'essaie d'apprendre à Ossature en regardant une application que quelqu'un que je connais a fait ensemble, avec la colonne vertébrale de la documentation. L'application dispose d'un Seau modèle et un modèle de Société (c'est à dire vous mettre les entreprises dans le seau). Il y a une chose dans ce peu que je suis pas clair, à savoir, la façon dont il utilise le trigger
méthode.
Épine dorsale de la documentation a ceci à dire à propos de trigger
:
déclencher object.trigger(event, [*args])
Déclencher des rappels de l'événement, ou de l'espace délimité par une liste d'événements. Les arguments suivants pour déclencher sera transmise à l'rappels d'événement.
Dans le code, je suis à la recherche d', trigger
est appelé comme ceci:
this.trigger("add:companies", Companies.get(companyId));
Deux questions:
- La
event
je suppose estadd
ing d'une société, mais à ce point dans le code ci-dessous ne fait que se passent dans la réalité? Est-il lorsquethis.set({ "companies": arr }, { silent: true });
est exécuté ou quandthis.save();
est exécuté (ou autre chose)? - Si
Companies.get(companyId)
est l'argument optionnel, quelle fonction est-il réellement passé?
Extrait de code original
window.Bucket = Backbone.Model.extend({
defaults: function() {
return {
companies: []
};
},
addCompany: function(companyId) {
var arr = this.get("companies");
arr.push(companyId);
this.set({ "companies": arr }, { silent: true });
this.save();
this.trigger("add:companies", Companies.get(companyId));
},
//...
OriginalL'auteur Leahcim | 2012-04-15
Vous devez vous connecter pour publier un commentaire.
La
companies
propriété du seau est en cours de mise à jour dans laaddCompany
méthode que vous décrivez. Une version annotée de votre exemple montre ce qui se déroule:trigger
n'est en fait pas affecter le modèle, c'est juste un moyen de laisser les autres pièces de l'application de savoir que la société a été ajouté. Vous pourrait tourner autour et de l'attraper quelque part d'autre en utilisanton
avec le seau modèle:C'est juste de la récupération le modèle de l'entreprise en question et de le transmettre à la fonction de rappel. Anonyme, gestionnaire j'ai attaché à la
bucket.on
auditeur dans mon exemple va recevoir le même modèle que soncompany
argument.mais c'est la chose. Je ne sais pas ce que le rappel est que le modèle de l'entreprise est passée à...il ne fait pas de l'indiquer dans la fonction addCompany
Il n'y a pas de rappels liés à cet événement dans votre question. Votre meilleur pari est probablement à la recherche du code pour
add:companies
(le nom de l'événement) et essayer de trouver des auditeurs affectés à l'aide.on
. Selon la façon dont le code est structuré, il peut même y avoir plus d'un...OriginalL'auteur rjz