JSTree延迟加载没有抓取孩子

时间:2015-10-30 17:04:25

标签: javascript jstree

使用最新的jstree。我可以加载所有节点,但现在我试图延迟加载节点。当我展开最后一个可见节点时,没有进行GET。

的.js

$('#nodes').jstree({
    'core' : {
        'data' : {
            'url': function(node) {
                return node.id === '#' ? 'api/mycontroller' : 'api/mycontroller/' + node.id;
            },
            "data" : function (node) {
                return { "id": node.id};
            }

        }
    }
});

初始调用返回的JSON数据是 [{“state”:{“open”:true,“disabled”:false,“selected”:false},“id”:“ - 100”,“text”:“Node1 Text”,“children”:[{ “state”:{“open”:false,“disabled”:false,“selected”:false},“id”:“0”,“text”:“Node2 Text”,“children”:[true]}] }]

当我点击节点2时,没有任何反应。我正在看小提琴手而且没有打电话。我使用开发工具网络验证了它。出现没有数据的文件夹

1 个答案:

答案 0 :(得分:0)

我试图序列化一个"节点"具有对象列表的对象。

children = new List<object>();

将此集合与节点对象一起使用时,一切都很好。但是,如果你看一下我列出的布尔值true的序列化,那就不正确了。所以我不能只将boolean插入集合中。

我探索的几个选项.... 1.写一个自定义的json转换器 2.导出2个对象。一个带有子节点列表。带布尔值的第二个

解决了这个问题。我用2滚动,因为它更快,我只是原型的一些东西。 1可能是一个更优雅的解决方案。