これが機能しない理由を理解するのに苦労しています。バックボーンに 2 つのモデルがあり、イベント化されたセットアップに移行して分離したいと考えています。次のように表示する方が簡単です。
var Session = Backbone.Model.extend({
url: '/some/url/session.js',
initialize: function(credentials) {
if (this.isValid() == true) {
this.trigger("start");
}
},
validate: function() {
if (this.get("user") != "user" || this.get("password") != "pass") {
this.trigger("end");
return "Invalid credentials.";
}
}
});
var MainModel = Backbone.Model.extend({
url: '/some/url/config.js',
initialize: function(credentials) {
this.session = new Session(credentials);
this.session.on("start", this.start());
this.session.on("end", this.end());
},
end: function() {
console.debug("session ended");
},
start: function() {
console.debug("session started");
}
});
new MainModel({
"user":"user",
"password": "pass"
});
私が見ている問題は、インスタンス化の直後に MainModel.start() と MainModel.end() の両方が常にトリガーされていることです。リスナーを正しく追加しているかどうかわかりません。
何か案は?
ありがとう!