JQuery FancyTree множественная ленивая загрузка узлов

Я новичок в Fancytree плагин Jquery.

Я хочу лениво загружать узлы дерева.

введите описание изображения здесь

Я не могу загрузить эти узлы из разных источников.

Оба узла получают данные из одного и того же источника. Я хочу, чтобы узел "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" };
      }
    });
});

Следующая ссылка на плункер: -

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

2 ответа

Решение

Обычно вы передаете ключ ленивого узла вашему веб-сервису, чтобы он мог доставлять определенные дочерние узлы. Например

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

Смотрите документы для деталей.

Плункерная ссылка для решения 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
        };
      }
    });
});

Это поможет другим...

Другие вопросы по тегам