2011-12-07 62 views
1

使用_.bindAll('addOne')後,addOne方法不會得到正確的this但它在某種程度上打破了其他對象函數調用這種「綁定」方法中:下劃線_.bind()的嵌套函數調用的問題

/** 
* 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 

} 

任何關於如何以某種方式恢復正常行爲的想法?

+1

您可以通過你的問題更清晰一點......也許更多一點的上下文開始? – KeatsKelleher

+2

是的,你究竟是怎麼調用「bindAll」?它需要多個參數。 – Pointy

回答

1

所需來包裝我的getter:

var myObject = new (App.getModelClass(model))(data); 

由於我買了不正確範圍:

var myObject = new App.getModelClass(model)(data);