创建Backbone模型嵌套函数

时间:2014-05-23 03:20:48

标签: javascript backbone.js

我有一个Backbone模型,我想添加一些函数。为方便起见,我想将它们分成几组。我想像这样使用它们: modelInstance.group1.foo();modelInstance.group2.bar();,其中group1.foogroup2.bar的{​​{1}}引用均为modelInstance。

我已尝试使用this,但这不起作用。

我如何更改以下内容以实现我的目标......如果可能的话?

_.bindAll(this, 'group1.foo')

1 个答案:

答案 0 :(得分:1)

var fns = {
  first: function() {
    console.log(this.vars);
  }
};

var Model = Backbone.Model.extend({
  initialize: function() {
    this.vars = [ 1, 2 ];
    this.fnGroup = {};
    var self = this;
    _.each(fns, function(fn, key) {
      var nfn = _.bind(fn, self);
      self.fnGroup[key] = nfn;
    });
  },
});

var model = new Model();
model.fnGroup.first() // [ 1, 2 ]