我们可以在sencha extjs的商店中拥有多个代理吗?

时间:2016-08-02 13:07:01

标签: extjs

我正在使用sencha extjs 4.1.3,我的问题是: - 我的应用程序中有一个模型和一个商店,但我有两个url来自我需要获取数据的地方,两个网址都有相同格式的数据我如何用两个不同的网址加载我的单个商店?请告知如何实现这些目标。

2 个答案:

答案 0 :(得分:3)

如果您想从两个不同的网址填充商店,但一次只能填充一个,您可以随时覆盖加载调用中的代理网址:

store.load({
    url:'theOtherUrl'
});

示例:https://fiddle.sencha.com/#fiddle/1ej9

如果您希望两个网址中的数据位于同一个商店中,您可以创建两个将其内容复制到第三个商店的商店(这允许您同时运行两个服务器调用),或者您可以调用第一个网址,并且在成功时,您使用addRecords选项调用第二个网址:

store.load({
    url:'theFirstUrl',
    success:function() {
        store.load({
            url:'theSecondUrl',
            addRecords:true
        });
    }
});

答案 1 :(得分:0)

如果您希望来自两个URL的数据位于同一个商店中,您可以做的是在成功功能中将数据加载到商店中:

var store = Ext.getStore("store name")
store.loadRawData(data,true)

再次从第二个URL加载数据时,请使用上面给出的相同代码。在将数据加载到store.true时,不要忘记使用“true”将记录添加到商店中的现有记录false以首先删除旧记录。