1

在按钮处理程序函数中加载商店时出现 Uncaught TypeError,我的代码是否有问题:

{
    xtype: 'button',
    text: 'Click me',
    handler: function() {
        var store = Ext.create('Ext.data.Store', {
            autoLoad : true,
            proxy: {
                type: 'ajax',
                url : 'MyUrl'
            }
        });
    }
}

错误信息:

Uncaught TypeError: instance[configPropMap[name].names.get] is not a function

调试器截图:

nameasync

instance没有getAsync功能

4

1 回答 1

0

我有一个解决方案,使用syncajax下面而不是proxy.ajax.

Ext.define('MyApp.store.proxy.SyncAjax', {
extend : 'Ext.data.proxy.Ajax',
alias  : 'proxy.syncajax',

config : {
    async : false
},

buildRequest : function() {
    var me      = this,
        request = me.callParent(arguments);

    request.defaultConfig.async = me.getAsync();
    request.getAsync = function() {
        request.getAsync = null;
        return me.getAsync();
    };

    return request;
}});
于 2016-08-15T06:51:03.420 回答