SlyRepeat和ngInclude要求在

时间:2015-08-02 12:29:01

标签: angularjs

我需要在我的webapplication中显示一个潜在的巨大树视图。在测试期间,我发现使用带有ngRepeat和ngInclude的角度的标准模板渲染方法表现不够(显示信息大约需要5秒)。删除绑定(因为它没有用)没有结果。

经过一些谷歌搜索后,我找到了一个名为scalyr https://github.com/scalyr/angular的模块。这应该真正优化渲染的性能。

我的代码:

<script type="text/ng-template" id="tree_item_renderer.html">
    {{data.name}}
    <ul>
        <li sly-repeat="data in data.childNodes " ng-include="'tree_item_renderer.html'"></li>
    </ul>
</script>

<ul>
    <li sly-repeat="data in vm.rows" ng-include="'tree_item_renderer.html'"></li>
</ul>

运行此代码时,我收到异常

Error: [$compile:multidir] Multiple directives [slyRepeat, ngInclude] asking for transclusion on: <li sly-repeat="data in data.childNodes " ng-include="'tree_item_renderer.html'">

这可以解决吗?或者用ng-Include运行scalyr是不可能的。

1 个答案:

答案 0 :(得分:1)

同一元素上有多个转换存在问题,但这是一个简单的解决方案:

<li sly-repeat="data in data.childNodes ">
<div ng-include="'tree_item_renderer.html'"></div>
</li>

有一个模块提供multiple transclusions,但我从来没有玩过它,所以我不确定它是否有效。

当你弄明白你的树时,告诉我狡猾的重复是否值得,因为我还有一棵大树要建造。