我正在使用jsTree插件来构建自定义项目树。我知道如何通过ajax请求加载项目,但在我的情况下,我在变量m_items
中有节点类型的节点。当节点正在扩展时,我只需要从m_items
返回部分项目,所以我需要一些方法来加载具有自定义函数的子节点,该函数接受可扩展节点并返回节点数组。
我认为至少有一种方法可以解决它,但它是一种自定义方式:initialy加载根级别和每个子节点的一个级别。打开任何节点时,然后加载下一级节点。但这种方式至少有一次泄漏:加载了太多不必要的物品。所以我正在搜索一些内置功能。</ p>
答案 0 :(得分:1)
这是一个有趣的问题,但是如果您的目标浏览器是最新的浏览器,则不包括&lt; IE9,这应该工作:
var TreeHelper = function(items, limit, start) {
this.items_ = items || [];
this.limit = limit || 5;
this.start = start || 0;
}
TreeHelper.prototype = {
push: function(item) {
this.items_.push(item);
return this;
}
};
Object.defineProperty(TreeHelper.prototype, 'items', {
get: function() {
return this.items_.slice(this.start, this.limit);
}
});
var helper = new TreeHelper([item1, item2, item3, ...], 5, 0);
......
function_that_needs_m_Items(helper.items);