成功するとイベントfetch
がトリガー"change"
されます:
フェッチ model.fetch([options])
[...]"change"
サーバーの状態が現在の属性と異なる場合、イベントがトリガーされます。
したがって、fetch
が何かを行う場合、"change"
リッスンできる があります。
myApp.on("initialize:before", function () {
this.currentUser = new UserModel();
this.currentUser.on('change', function() {
myApp.vent.trigger('currentUser');
});
this.currentUser.fetch();
});
"currentUser"
が他の方法で変更された場合にもイベントがトリガーthis.currentUser
され、それが必要な場合とそうでない場合があります。関数を 1 回だけ呼び出したい場合は、現在のsuccess
ハンドラーを使用するのがおそらく最も簡単です。on
ハンドラーが呼び出されたときに、ハンドラーを引き続き使用およびアンバインドできます。
myApp.on("initialize:before", function () {
var triggerCurrentUser = _.bind(function() {
myApp.vent.trigger('currentUser');
this.currentUser.off('change', triggerCurrentUser);
}, this);
this.currentUser = new UserModel();
this.currentUser.on('change', triggerCurrentUser);
this.currentUser.fetch();
});
を使用することもできます_.once
が、それではノーオペレーション コールバック関数が起動してしまうので、その必要はありません。