2012-03-26 1 views
8

Ho una raccolta in cui è presente un evento che viene generato quando viene aggiunto un modello. Ho letto nella documentazione dove dovrebbe avere un parametro opzioni ma non in grado di arrivarci. Fondamentalmente voglio trovare l'indice nel quale si trova il modello. All'interno della mia collezione ho questo.Backbone aggiungi evento

initialize: function() { 
     this.bind('add', this.onModelAddedd, this); 
    }, 

    onModelAddedd: function(model, options){ 

      console.log("options = ", options); 
    } 

risposta

23

La documentazione è un po 'oscura su questo quindi la tua confusione è comprensibile. Dal fine manual:

Catalogo di eventi

Ecco un elenco di tutti i built-in eventi che Backbone.js possono sparare. Sei anche libero di attivare i tuoi eventi su Modelli e Viste come meglio credi.

  • "add" (modello, raccolta, opzioni) - quando un modello viene aggiunto a una raccolta.
  • ...

Così il secondo argomento al gestore add è la raccolta stessa. L'onnipresente options che stai cercando è sempre l'ultimo argomento per cui si vuole questo:

onModelAddedd: function(model, collection, options) { 
    console.log("options = ", options); 
} 

Demo (aprire la console per favore): http://jsfiddle.net/ambiguous/Das2t/

L'ultimo argomento options è implicito di essere l'ultimo argomento in tutta la documentazione, ma non è esplicitamente enunciato ovunque.

+4

dopo tutto questo tempo, imparo ancora cose nuove ... non sapevo delle opzioni param per quegli eventi. grazie mu! :) –

+2

@DerickBailey: Ecco perché siamo qui, no? Ho imparato una buona parte della mia conoscenza Backbone, PostgreSQL, Ruby e CoffeeScript rispondendo alle domande qui. –

+0

Wow, tengo la pagina doc Backbone aperta tutto il giorno durante la scrittura del codice, ci rimando ogni giorno, e in qualche modo non ho mai visto la sezione "Catalogo degli eventi" :) Grazie! –