2017-05-07 24 views
1

私はJqueryのFancytreeプラグインを初めて使用しています。JQuery FancyTree複数のノードの遅延ロード

ツリーのノードを怠惰にロードしたい。

enter image description here

私は、異なるソースからこれらのノードをロードすることができません。

両方のノードが同じ単一ソースからデータを取得しています。 私はノード "レイジーFolder1には" 後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" }; 
     } 
    }); 
}); 

からデータをロードする必要がありsample1.json とノード "レイジーFOLDER2" からデータをロードする必要が欲しいのはplunkerへのリンクです: -

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

答えて

0

通常、レイジーノードのキーを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を参照してください。

2

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 
     }; 
     } 
    }); 
}); 

のためにそれは他人を助ける...