我有这个对象:
var crudConfig = function($wizard, $formModal, $deleteModal) {
'use strict';
return {
handleOnShowFormModal : function() {
$formModal.on('show.bs.modal', function(event) {
...................
this.fillForms(data);
....................
});
return this;
},
fillForms : function(data) {
//do stuff
return this;
}
}
}
当我用param调用fillForms时会出现问题。
Uncaught TypeError: this.fillForms is not a function
由于fillForms键是一个匿名函数,如何从对象内部调用它?在其他相关问题上,我只发现如果键具有字符串值并且我这样调用如此引用自身:this.fillForms
。
答案 0 :(得分:2)
this
引用$formModal
元素。您需要做的是在调用事件侦听器之前存储引用变量中对象的this
,并使用回调中的变量来访问该对象。
就像这样:
handleOnShowFormModal : function() {
var _this = this
$formModal.on('show.bs.modal', function(event) {
_this.fillForms(data);
});
return this;
},