0

我需要将动态 JSON 与 data.TreeStore 一起使用。有了这个组件,就有了代理“config”,它需要一个 JSON 文件的路径。我的问题是,我无法在我的应用程序中编写 Json 文件。我会知道,如果我可以动态生成 JSON 并将其传递给 url 配置到代理?

例如 :

Var trStore = Ext.create('Ext.Data.TreeStore',{

... // config
proxy {

type : 'ajax',
url : { id : 'id0', task :'task0', value : 'val0', ..... }

}
});

我的 URL 不是文件 url,而是用我自己的方法生成的 JSON!

如何构建 JSON 以将其与 TreeStore 一起使用而无需生成文件!?

我希望你能理解我的问题:)

非常感谢您的帮助!

4

2 回答 2

0

您的示例看起来像您想要将静态“内联数据”传递给 TreeStore。

据我所知,这对于裸 TreeStore 是不可能的,因为它没有“普通”商店所具有的数据配置选项。但是,可以使用 Treepanel。

您可以使用Treepanel(而不是 TreeStore)的根配置选项将内联数据传递给 TreeStore。它的工作方式与“普通”商店的数据配置选项非常相似:

Ext.create('Ext.tree.Panel', {
  root: { id : 'id0', task :'task0', value : 'val0', children: [...], ... }
  // ...
});

有两个与此相关的警告:

  • beta3 文档说root是布尔值,这是错误的。
  • 由于 beta3 中的错误,您不能将它与rootVisible: false一起使用。
于 2011-04-23T23:16:13.377 回答
0

请记住,“json 文件”实际上只是一个文本字符串,因此您可以使用 PHP 或您喜欢的服务器软件生成它。

对于代理中的 url,只需输入您用于运行该功能的 url。例如,在我的网络应用程序中,我有http://example.org/controller/getTree?output=json

getTree()这会在 my 上运行该函数controller,并且该函数知道返回 json。

于 2011-07-20T20:45:36.457 回答