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" };
}
});
});
Следующая ссылка на плункер: -
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
};
}
});
});
Это поможет другим...