fancytree文件夹永远不会崩溃。显示所有儿童和父母没有正确的嵌套结构。
当我复制与文本数据源有效的完全相同的数据时,而不是web2py(python)控制器,文件夹不会折叠,只是显示永久展开。浏览器中没有js控制台错误。
在文本文件中完美运行的原始数据
FancyTree像这样从python控制器中复制数据
json_list = [{
"alexLink": "http://example.com/",
"kind": "tasks#task",
"id": "MTYwNzEzNjc2OTEyMDI1MzcwNzM6ODUwNjk4NTgzOjExMTkyODk2MjA",
"etag": "\"4qyCALf1j510T_-I20NAMbUHF2k/LTEzNTgzMTMzODg\"",
"title": "Task 01",
"updated": "2015-04-23T19:25:44.000Z",
"selfLink": "",
"position": "00000000002147483647",
"status": "needsAction"
}]
我转换为json:json_list = json.dumps(json_list)
然后用作来源:
// Initialize Fancytree
$("#alexTree").fancytree({
checkbox: true,
selectMode: 3,
source: {{=XML(json_list)}},
postProcess: function(event, data){
data.result = convertData(data.response);
},
select: function(event, data) {
window.open(data.node.data.alexLink, "_blank");
数据与文本文件源中的相同。什么可能导致文件夹不与其下的孩子签订合同?
答案 0 :(得分:0)
我看不出一个明显的原因,为什么你的样本不起作用(我假设持久性扩展已关闭?)。
除了{{=XML(json_list)}}
之外,可能会发生意外情况。
我想需要一个可调试的演示来查找。
无论如何,你的样本是这样做的:
<script>
标记的html页面,该标记又将此数据嵌入为字符串Fancytree的设计考虑了这种模式(其中包括):
<div id="tree">
元素的静态页面并包含一些JavaScript source
的ajax网址
这将立即显示您的用户的页面,同时延迟加载(显示旋转图标)这可能会提供更流畅的用户体验。它还允许通过调用tree.reload()
来刷新树数据而无需重新加载页面。