繁体   English   中英

角基础多个指令要求包含

[英]Angular-foundation multiple directives asking for transclusion

我正在使用has-dropdown指令,并且尝试在顶部栏上递归地生成导航链接,但是我的角度抛出了错误:

Error: [$compile:multidir] Multiple directives [ngInclude, hasDropdown] asking for transclusion on: <li ng-repeat="data in pageList" ng-include="'tree.html'" ng-if="!data.node.length == 0" has-dropdown="">

这是我的用法:

      <ul class="right">
      <li ng-repeat="data in pageList" ng-include="'tree.html'" has-dropdown>
      </li>
  </ul>

<script type="text/ng-template"  id="tree.html">
   <a>[[data.name]] [[data.parent]]</a>
    <ul top-bar-dropdown>
        <li ng-repeat="data in data.node" ng-include="'tree.html'"></li>
    </ul>
</script>

我知道我不能在一个元素中使用ng-include和has-dropdown,但是我需要做一些事情才能使其正常工作能否给我一个提示,以了解我要解决的问题?

这是演示: http : //plnkr.co/edit/Rxxt3ufG26PAM7GYoNOJ?p=preview 具有简化的数据结构。

以分层的方式重新排列指令会有所帮助。 这样您就可以:

ng-repeat> ng-include> has-dropdown

 <ul class="right">
        <div ng-repeat="data in pageList" ng-include="'tree.html'">
        </div>
   </ul>

<script type="text/ng-template"  id="tree.html">
<li has-dropdown>
    <a>{{data.name}}</a>
    <ul top-bar-dropdown>
        <li ng-repeat="submenu in data.node" ng-include="'simple.html'"></li>
    </ul>
</li>
</script>

 <script type="text/ng-template"  id="simple.html">
//
 </script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM