0

我有这个代码:

Ext.define('DKM.BaseClasses.Stores.BaseStore', {
requires:['Ext.window.MessageBox'],
extend: 'Ext.data.Store',

proxy:  {
        type:'ajax',
        listeners: {
            exception: function(proxy, response, options) {                 
                requestMessageProcessor(proxy, response);
            }

        },
        afterRequest: function(request, success) {

            requestMessageProcessor(request.scope, request.operation.response);
        },
},      

requestMessageProcessor: function(proxy, response) {
...

我想做的是调用 requestMessageProcessor。问题(可能是范围问题)是我收到错误“requestMessageProcessor 不是函数”。

有人可以给我一个建议吗?

提前致谢!大卫

4

2 回答 2

0

像这样更改您的定义:

listeners: {
    exception: function(proxy, response, options) {                 
        this.requestMessageProcessor(proxy, response);
    },
    scope: this
},

那应该这样做。

于 2012-04-11T12:42:12.630 回答
0

如果您想将该函数用作可以随时随地调用的“全局”函数,那么我通常做的方式是创建一个主控制器,假设MainController并在其中定义函数。以后,每当你想调用它时,只需使用

Ext.getController('MainController').yourFunction

如果您仍然想将该功能放入您的商店,只需为该商店设置一个 id 并使用它:

Ext.getStore('your-store-id').yourFunction

希望能帮助到你。

于 2012-04-11T13:01:37.340 回答