Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ExtJS:更改TreeLoader数据URL_Extjs_Treeview - Fatal编程技术网

ExtJS:更改TreeLoader数据URL

ExtJS:更改TreeLoader数据URL,extjs,treeview,Extjs,Treeview,如何更改树阅读器的数据URL 更新:很抱歉造成混乱 dataUrl只能在构造函数中设置,在实例初始化后,没有公共属性或方法可以在以后对其进行更改。因此,甚至可以更改它吗?每个请求(不是“直接的”)似乎都直接使用dataUrl。您应该能够将其作为属性进行更改,即使它未被报告为公共属性。以下是一个从控制器动态更改Treeloader URL的解决方案 var mystore=Ext.data.StoreManager.lookup('MyTreeStore') 或 您可以使用事件beforeload

如何更改
树阅读器的
数据URL

更新:很抱歉造成混乱


dataUrl只能在构造函数中设置,在实例初始化后,没有公共属性或方法可以在以后对其进行更改。因此,甚至可以更改它吗?

每个请求(不是“直接的”)似乎都直接使用
dataUrl
。您应该能够将其作为属性进行更改,即使它未被报告为公共属性。

以下是一个从控制器动态更改Treeloader URL的解决方案

var mystore=Ext.data.StoreManager.lookup('MyTreeStore')

您可以使用事件beforeload更改url

mystore.on('beforeLoad',function(store, operation, eOpts){

        store.setProxy({
        type: 'ajax',
        url:"http://localhost/data/treegrid.json",
        actionMethods:{read:'GET'},
        timeout:9000000,
        noCache : false,
        reader: {
        type: 'json'
              }
        });
});

在我看来,您可以更新
dataUrl
,然后调用
load
,可能是通过根节点。
mystore.on('beforeLoad',function(store, operation, eOpts){

        store.setProxy({
        type: 'ajax',
        url:"http://localhost/data/treegrid.json",
        actionMethods:{read:'GET'},
        timeout:9000000,
        noCache : false,
        reader: {
        type: 'json'
              }
        });
});