如何使商店的URL标签动态化,而不是在sencha touch中为其提供常量字符串

时间:2015-04-27 06:11:56

标签: javascript json sencha-touch sencha-touch-2 hybrid-mobile-app

我暂时遇到这个问题并且无法在任何地方找到解决方案

Ext.define('RmitPorject.store.Alerts', {
    extend: 'Ext.data.Store',

   /* gCameraID: function(){
        var d = this.data,
            id =d.CameraID
        return id.join(" ");
    },*/
    config: {
        model: 'RmitPorject.model.Alert',
        //sorters: 'CameraID',

        autoLoad: true,
        proxy: {
            type: 'ajax',
           // url: 'txt.json',

            url: 'Camera/'+'100001'+'.json',

            /*here, we have to make a dynamic loading url
            *  for example, we need to make a function handler
            *  It will handle the particular cameraid to request different folder camerid (url)
            * *
            * */
            //url:'http://52.64.86.42/RmitPorject/txt.json',
            reader: {
                type: 'json',
                rootProperty: 'data'
            }
        }

    }
});

这是商店文件

我想要的是当用户触摸列表中的一个项目时,它将使用此存储文件来加载该特定列表项的JSON文件。 但我不知道如何将该列表项的值传递给此存储文件,以便它知道要使用的JSON文件

换句话说,我想让这个URL标签动态化,具体取决于用户应该从不同的JSON文件加载数据的响应,但不幸的是我不知道如何使这个商店动态化。

1 个答案:

答案 0 :(得分:0)

根据用户的回复,您可以更改商店的网址,然后使用以下代码加载商店

Ext.getStore('Alerts').getProxy().setUrl('Camera/'+'100001'+'.json');// create dynamic url string and pass it in setUrl method
Ext.getStore('Alerts').load();

删除" autoLoad:true"因为它试图立即加载商店,它可能会给你错误。