我有一个Backbone模型,我想添加一些函数。为方便起见,我想将它们分成几组。我想像这样使用它们:
modelInstance.group1.foo();
或modelInstance.group2.bar();
,其中group1.foo
和group2.bar
的{{1}}引用均为modelInstance。
我已尝试使用this
,但这不起作用。
我如何更改以下内容以实现我的目标......如果可能的话?
_.bindAll(this, 'group1.foo')
答案 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 ]