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:

  1. La event je suppose est adding d'une société, mais à ce point dans le code ci-dessous ne fait que se passent dans la réalité? Est-il lorsque this.set({ "companies": arr }, { silent: true }); est exécuté ou quand this.save(); est exécuté (ou autre chose)?
  2. 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