成功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
如果您只想调用一次您的函数,那么您当前的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
,但这会留下一个无操作回调函数,并且没有必要这样做。