Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 剑道UI树视图附加函数性能_Javascript_Performance_Telerik_Kendo Ui_Kendo Treeview - Fatal编程技术网

Javascript 剑道UI树视图附加函数性能

Javascript 剑道UI树视图附加函数性能,javascript,performance,telerik,kendo-ui,kendo-treeview,Javascript,Performance,Telerik,Kendo Ui,Kendo Treeview,看起来以下函数的性能非常差 treeView.append(children, parent); 这里的treeView是KendoUITreeView,父节点是子节点的容器节点,子节点是大约150个新节点的数组(我的场景) 这段代码执行时间超过7秒 我猜append函数对于一组项没有很好地实现,因此通过jQuery生成html可能有一些变通方法,但是Kendo UI Treeview还应该了解新节点,以便正确处理新节点的未来扩展事件。 有没有办法提高上述代码的性能 谢谢,, Ihor性能是一

看起来以下函数的性能非常差

treeView.append(children, parent);
这里的treeView是KendoUITreeView,父节点是子节点的容器节点,子节点是大约150个新节点的数组(我的场景)

这段代码执行时间超过7秒

我猜append函数对于一组项没有很好地实现,因此通过jQuery生成html可能有一些变通方法,但是Kendo UI Treeview还应该了解新节点,以便正确处理新节点的未来扩展事件。 有没有办法提高上述代码的性能

谢谢,,
Ihor

性能是一个相当相对的术语。当然,如果需要7秒,这不是一个好的表现。在我的计算机中,添加150个新节点花费了大约1秒的时间,但无论如何,我可能会建议您进行一些改进

如何一个接一个地追加节点

for (var i = 0; i < 150; i++) {
    var added = { text:"node" + i };
    tree.append(added, parent);
}
在我的电脑里,它从1105ms上升到787。没有那么多,但是


但是,这是插入节点的时间,而不是渲染所需的时间。您的问题是追加还是显示在屏幕上?

对于遇到此问题的人:

最后,我研究了剑道UI源代码,并使用了以下代码,而不是原始帖子中的行:

 treeView.dataItem(parent).children.data(children)
在我的场景中效果很好。

是的,只有一行(来自我的原始帖子)执行7秒。事实上,我试了你们的两个样品,而且两个都是同时试的。我对剑道源代码进行了一些调查,发现下面这行代码执行得更快,treeView.dataItem(parent.children.data(children))如果使用这种方法,您能回答可能出现的问题吗?
 treeView.dataItem(parent).children.data(children)