我将事件'on'定义为我的对象(newobj)
如果我需要访问此成员,我之前保存过它。
我在事件中没有获得此值的问题。 (不存在)
我认为我需要添加闭包,我试图添加它但它不起作用。
你能告诉我这是什么问题吗?
基本代码
create : function() {
var self = this;
var newObj = createNewObj()
newObj.on('selectData', function(evt){
///some code on self
});
关闭选项1
create : function() {
var self = this;
var newObj = createNewObj()
return function(){
newObj.on('selectData', function(evt){
///some code
})};
关闭选项2
create : function() {
var self = this;
var newObj = createNewObj()
newObj.on('selectData', function(evt){
})
return function(){
// some code
};
答案 0 :(得分:1)
试试这个:
create : function() {
var self = this;
var newObj = createNewObj()
return (function(){
newObj.on('selectData', function(evt){
///some code
}
)})();
};
答案 1 :(得分:0)
您可以使用bind功能。这个简单改变了函数内的this
。
尝试这样的事情:
create : function() {
var self = this;
var newObj = createNewObj()
return (function(){
newObj.on('selectData', function(evt){
///some code
}.bind(newObj)
)})();
};
将来的某个时候,您将能够使用lexicaly绑定功能。 See this article :)