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.Event を拡張するため、イベントをリッスンしてトリガーできます。

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 に答える