jsTree从自定义函数加载节点

时间:2013-08-30 17:51:27

标签: javascript jquery jstree

我正在使用jsTree插件来构建自定义项目树。我知道如何通过ajax请求加载项目,但在我的情况下,我在变量m_items中有节点类型的节点。当节点正在扩展时,我只需要从m_items返回部分项目,所以我需要一些方法来加载具有自定义函数的子节点,该函数接受可扩展节点并返回节点数组。

我认为至少有一种方法可以解决它,但它是一种自定义方式:initialy加载根级别和每个子节点的一个级别。打开任何节点时,然后加载下一级节点。但这种方式至少有一次泄漏:加载了太多不必要的物品。所以我正在搜索一些内置功能。<​​/ p>

1 个答案:

答案 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);