我的应用程序有两个可编辑的TreePanel,每个都显示一个树,因此每个都有自己的TreeStore定义。最初,这些商店的数据完全相同 - 从服务器加载的大型JSON树。所以理想的是不必加载相同的JSON树就可以发出两个HTTP请求,因为这是一个非常昂贵的操作。
请注意,这两个TreePanel的基础TreeStore对象必须不同。否则,一个面板中的更改将立即级联到另一个面板。
但是,有没有人知道是否可以避免发出两个HTTP请求并以某种方式将一个TreeStore加载的数据传递给另一个?
非常感谢任何建议。 谢谢!
答案 0 :(得分:0)
在这里找到答案:
诀窍是在第二个TreeStore上使用setRootNode()方法并传入数据。为了从第一个TreeStore中获取数据,我最终只是递归地迭代树并构造它的字符串JSON表示。然后使用Ext.decode()方法将其转换回对象。这种转换是相当浪费,但深度copy()不起作用 - ExtJS中的错误。从来没有,这比击中服务器要快得多。