我最近在我的代码中遇到了一个有趣的错误,尽管我设法找到了修复程序,但我想知道是否有人可以解释为什么该解决方案有效。这是一些代码
var Project = Backbone.Model.extend({
initialize: function() {
// Uncomment this line and you will no longer get the alert
//_.bindAll(this);
},
}, {
parse: function() {
alert('Parsing data');
}
});
var project = new Project({});
project.constructor.parse();
我了解 bindAll,当这样使用时,会将所有函数绑定到当前范围,但我不确定它为什么会影响parse
类属性函数。我希望它只会影响实例属性。