JQuery FancyTree多个延迟加载节点

时间:2017-05-07 17:04:00

标签: jquery fancytree

我是Jquery的Fancytree插件新手。

我想延迟加载树的节点。

enter image description here

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

两个节点都从同一个源获取数据。 我想节点"懒惰文件夹1"应该从sample1.json加载数据 和节点"懒惰文件夹2"应该从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" };
      }
    });
});

以下链接到plunker: -

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

2 个答案:

答案 0 :(得分:2)

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

的Plunker链接
$(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
        };
      }
    });
});

它会帮助别人......

答案 1 :(得分:1)

通常,您会将延迟节点的密钥传递给Web服务,因此它可以传递特定的子节点。例如

- Property 'Song.browsercategory' declared as origin of linking objects property 'Decade.songs' does not exist

有关详细信息,请参阅the docs