【问题标题】:JQuery FancyTree multiple lazy loading of nodesJQuery FancyTree 多个节点的延迟加载
【发布时间】:2017-05-16 22:20:39
【问题描述】:

我是 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" };
      }
    });
});

以下是 plunker 的链接:-

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

【问题讨论】:

    标签: jquery fancytree


    【解决方案1】:

    解决方案的Plunker链接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
            };
          }
        });
    });
    

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

    【讨论】:

      【解决方案2】:

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

      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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-28
        • 2020-02-04
        • 1970-01-01
        相关资源
        最近更新 更多