Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在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 - Fatal编程技术网

如何在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中将作用域作为参数传递? 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

当我运行上述代码时,它给出

TypeError:this.getTotalCountPanel不是函数


错误。我想这是一个范围问题。如何修复此错误?

是,您可以在请求方法选项对象中设置
范围:此

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);
        }
    }); 
};