使用_.bindAll('addOne')
后,addOne
方法确实得到了正确的this
,但它以某种方式中断了对此“绑定”方法中其他对象的函数调用:
/**
* Add an element to the list
*/
addOne: function(tag) {
// scope of this is correct
var newClass = App.getViewClass('myClass')(someOptions) <-- scope inside App::getViewClass is wrong! overriden by current this
}
关于我如何以某种方式恢复正常行为的任何想法?
答案 0 :(得分:1)
需要包裹我的吸气剂:
var myObject = new (App.getModelClass(model))(data);
因为我的范围不正确:
var myObject = new App.getModelClass(model)(data);