0

我有一个在多个视图中使用的模型。我想检测该模型上的更改事件(将其保存到 localStorage 以保持持久性),但我希望更改独立于每个视图。

有没有办法在模型本身或控制器中绑定模型更改事件(我也在使用 Marionette 和 Require)?这是我的模型:

define([
'backbone',
'common'
],
function(Backbone, Common) {

//Define the App Namespace before anything else
var APP = Common.app_namespace || {};

APP.Models.UserModel = Backbone.Model.extend({

  //Set up default values 
  defaults: {
    "value" : "default"
    }

});

});

是否有捷径可寻?我正在考虑使用backbone.localStorage但是(如果我错了,请纠正我)我认为有问题的模型需要在一个集合中,但由于我不需要一个集合,我希望这样做这个手动。

4

1 回答 1

2

Backbone.Model 扩展了 Backbone.Events,所以是的,它可以监听和触发事件:

APP.Models.UserModel = Backbone.Model.extend({
  //Set up default values 
  defaults: {
    "value" : "default"
  },
  initialize: function() {
    this.listenTo(this, 'change', this.myCallback);
  }
});

等等...

于 2013-04-09T15:23:31.707 回答