如何在ExtJS中将作用域作为参数传递? this.getSecondPanel=函数(argPanel,argID) { Ext.Ajax.request({ url:'myActionURL', 参数:{id:argID}, 成功:功能(响应) { var resData=Ext.util.JSON.decode(response.responseText); var totalCount=resData.totalCount; argPanel.items.insert(0,this.getTotalCountPanel(totalCount)); }, 故障:功能(响应) { Ext.Msg.alert('错误:',响应); } }); }; this.getTotalCountPanel=函数(argCounter) { 返回新的外部面板({ 标题:“总结小组”, html:'+ '' + '' + ''+总计数+''+ ''argCounter+''中的“+argCounter”+ '' + '' + '' }); };
当我运行上述代码时,它给出 TypeError:this.getTotalCountPanel不是函数如何在ExtJS中将作用域作为参数传递? this.getSecondPanel=函数(argPanel,argID) { Ext.Ajax.request({ url:'myActionURL', 参数:{id:argID}, 成功:功能(响应) { var resData=Ext.util.JSON.decode(response.responseText); var totalCount=resData.totalCount; argPanel.items.insert(0,this.getTotalCountPanel(totalCount)); }, 故障:功能(响应) { Ext.Msg.alert('错误:',响应); } }); }; this.getTotalCountPanel=函数(argCounter) { 返回新的外部面板({ 标题:“总结小组”, html:'+ '' + '' + ''+总计数+''+ ''argCounter+''中的“+argCounter”+ '' + '' + '' }); };,extjs,scope,Extjs,Scope,当我运行上述代码时,它给出 TypeError:this.getTotalCountPanel不是函数 错误。我想这是一个范围问题。如何修复此错误?是,您可以在请求方法选项对象中设置范围:此。 this.getSecondPanel=函数(argPanel,argID) { Ext.Ajax.request({ 范围:本,// this.getSecondPanel = function(argPanel, argID) { Ext.Ajax.request({ url
错误。我想这是一个范围问题。如何修复此错误?是,您可以在请求方法选项对象中设置
范围:此
。
this.getSecondPanel=函数(argPanel,argID)
{
Ext.Ajax.request({
范围:本,//
this.getSecondPanel = function(argPanel, argID)
{
Ext.Ajax.request({
url : 'myActionURL',
params : {id: argID},
success : function(response)
{
var resData = Ext.util.JSON.decode(response.responseText);
var totalCount = resData.totalCount;
argPanel.items.insert(0, this.getTotalCountPanel(totalCount));
},
failure : function(response)
{
Ext.Msg.alert('Error: ', response);
}
});
};
this.getTotalCountPanel = function(argCounter)
{
return new Ext.Panel({
title : 'Summary Panel',
html : '<table class="bgrGREYlight" width="100%" style="padding:5">' +
'<tbody>' +
'<tr>' +
'<th align="left" width="20%" class="tableTEXT2">' + Total Count + '</th>' +
'<td width="80%" align="left" class="tableTEXT">' + argCounter + '</td>' +
'</tr>' +
'</tbody>' +
'</table>'
});
};
this.getSecondPanel = function(argPanel, argID)
{
Ext.Ajax.request({
scope:this, //<----- scope set to current context
url : 'myActionURL',
params : {id: argID},
success : function(response)
{
var resData = Ext.util.JSON.decode(response.responseText);
var totalCount = resData.totalCount;
argPanel.items.insert(0, this.getTotalCountPanel(totalCount));
},
failure : function(response)
{
Ext.Msg.alert('Error: ', response);
}
});
};