下划线 _.bind() 嵌套函数调用的问题
使用_.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
}
关于如何以某种方式恢复正常行为有什么想法吗?
After using _.bindAll('addOne')
, the addOne
method does get a correct this
but it somehow breaks function calls on other objects inside this "bound" method :
/**
* 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
}
Any ideas on how i could somehow restore normal behavior?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
需要包装我的吸气剂:
因为我的范围不正确:
Needed to wrap my getter :
As i got incorrect scope with :