如何在ExtJs商店中动态设置参数值?

时间:2014-05-22 06:14:16

标签: extjs extjs4.2

Ext.define('apikeygen.store.Clients', {

extend: 'Ext.data.Store',

alias: 'store.Clients',

requires: ['CCC.model.Client',
           'CCC.util.ActorContext'],

storeId: 'ClientsStore',

model: 'CCC.model.Client',

proxy: {
    type: 'ajax',
    url: '/services/clients',

    reader: {
        type: 'json',
        root: 'clients.client'
    }
    extraParams : {
       token : dynamica value ----------------> How to set this value dynamically
    }


}

});

我在Extjs有一个像上面这样的商店。如何动态设置标记值?

我有"令牌"上下文中的值我可以访问该值,如:ActorContext.getToken();

如何将ActorContext.getToken();分配给"令牌" Extjs商店的param。

3 个答案:

答案 0 :(得分:1)

首先,应该使用autoLoad:false配置商店,因为您不希望它在应用程序初始化阶段提前加载,而是仅在令牌可用之后加载。

然后,当您准备加载商店(令牌可用)时,请致电:

store.getProxy().setExtraParam('token', ActorContext.getToken());
store.load();

答案 1 :(得分:0)

你不能只分配值吗?

var store = Ext.create('apikeygen.store.Clients');
store.proxy.extraParams.token = ActorContext.getToken();
store.load();

答案 2 :(得分:0)

在CONTROLLER中添加它,或在initComponent

中添加VIEW
var store = Ext.create('apikeygen.store.Clients',{
   storeId: 'storeClients',
});
store.proxy.extraParams = { token: 'your data value'};

并像这样加载您的商店:

store.load()