以下是javascript
功能:
注意: resultArray
在调用函数中定义为var resultArray = [];
onAddElement : function (win,id,resultArray) {
var controller = this;
if(!win.flag){
Ext.MessageBox.show({
title: 'Yes or No',
icon: Ext.MessageBox.QUESTION,
msg: 'Do you want to continue?',
buttonText: {yes:'YES', no:'NO', cancel:'CANCEL',
fn: function (me) {
if(me === 'yes'){
ver = win.curVer;
resultArray.push({
id: id,
ver: ver
});
controller.anotherFunc(win,id);
}else if(me === 'no'){
ver = win.ver;
resultArray.push({
id: id,
ver: ver
});
controller.anotherFunc(win,id);
}
}
});
}else{
ver = win.ver;
resultArray.push({ //getting uncaught illegal access
id: id,
ver: ver
});
controller.anotherFunc(win,id);
}
}
我已经对我收到uncaught illegal access
错误的行进行了评论。我无法找到它的根本原因。
答案 0 :(得分:1)
我得到了一个解决方案。只需要将resultArray
定义为一个函数,如果需要,可以将参数数组中的值赋给定义到函数中的数组。
以下是修改:
onAddElement : function (win,id,argArray) {
var resultArray = []; // define array inside a function
resultArray = argArray; // if required assign arg array to local array.
var controller = this;
.
.
.
.
}