Rückgrat Sammlung Hinzufügen Ereignis Auslösen, Sobald

Ich habe eine Backbone-Sammlung und wenn ich ein neues Modell, um es den "hinzufügen" - event scheint nicht zu funktionieren wie ich es erwarten würde. Ich habe bound 2 Ansichten zu hören, für das hinzufügen von Ereignissen auf der Sammlung, aber nur eine scheint zu bekommen Kenntnis von dem Ereignis, und wenn dies geschieht, STELLEN keine Anfrage an meinen server. Wenn ich entfernen Sie die zweite Bindung, die anderen Werken-und die PUT-Anforderung gesendet wird. Hier ist der code-Schnipsel:

    var FlagList = Backbone.Collection.extend({
    model: Flag  //model not shown here... let me know if it would help to see
});

    var FlagCollectionView = Backbone.View.extend({
    el: $('ul.#flags'),
    initialize: function() {
        flags.bind('add', this.addFlag, this);  //this one doesn't fire!!
    },
    addFlag: function(flag) {
        alert("got it 1");  //I never see this popup
    }
});

    var AddFlagView = Backbone.View.extend({
    el: $("#addFlagPopup"),
    events: {
        "click #addFlag": "addFlag"
    },
            initialize: function() {
                    flags.bind('add', this.closePopup, this);   //this one fires!!
            }
    addFlag: function() {
        flags.create(new Flag);
    },
    closePopup: function() {
        alert("got it 2");  //I see this popup
    }
});

var flags = new FlagList;
var addFlagView = new AddFlagView;
var flagCollectionView = new FlagCollectionView;
  • Ist dies die tatsächliche Reihenfolge der Ausführung? sprich: funktioniert das event von 'auf #addFlag' geschickt bekommen, bevor Sie Sie initialisieren die flagCollectionView? Es ist wichtig, dass Sie binden Ereignisse zu modellieren und die Sammlung, bevor Sie erwarten, dass das Ereignis auslösen
InformationsquelleAutor threejeez | 2012-05-14
Schreibe einen Kommentar