JQuery FancyTree节点的多重懒加载

JQuery FancyTree multiple lazy loading of nodes

我是 Jquery 的 Fancytree 插件的新手。

我想延迟加载树的节点。

我无法从不同来源加载这些节点。

两个节点都从同一个来源获取数据。 我希望节点 "Lazy Folder1" 应该从 sample1.json 加载数据 并且节点 "Lazy Folder2" 应该从 sample2.json

加载数据
$(function(){
  var sampleSource = [
        { title: "Lazy Folder1", lazy: true },
         { title: "Lazy Folder2", lazy: true }
    ];

    $("#tree").fancytree({
      source: sampleSource,
      lazyLoad: function(event, data) {
        data.result = { url: "sample1.json" };
      }
    });
});

以下是link plunker:-

http://plnkr.co/edit/ZLdgkKUIpg3hinpoYZQK?p=preview

通常您会将惰性节点的密钥传递给您的网络服务,以便它可以传送特定的子节点。例如

lazyLoad: function(event, data){
      var node = data.node;
      // Load child nodes via ajax GET /getTreeData?mode=children&parent=1234
      data.result = {
        url: "/getTreeData",
        data: {mode: "children", parent: node.key},
        cache: false
      };
  },

详情见the docs

Plunker link 解决方案 http://plnkr.co/edit/ZLdgkKUIpg3hinpoYZQK?p=preview

$(function(){
  var sampleSource = [
        { title: "Lazy Folder1", lazy: true, key: 1 },
         { title: "Lazy Folder2", lazy: true, key: 2 }
    ];

    $("#tree").fancytree({
      source: sampleSource,
      lazyLoad: function(event, data) {
        var node = data.node;
        data.result = { 
          url: "sample" + node.key.toString() + ".json",
          data: { mode: "children", parent: node.key },
          cache: false
        };
      }
    });
});

它会帮助别人...