javascript - Angular-foundation 多个指令要求嵌入

标签 javascript angularjs

我正在使用has-dropdown指令,我尝试在顶栏生成递归导航链接,但我的 Angular 抛出错误:

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>

关于javascript - Angular-foundation 多个指令要求嵌入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35534443/

相关文章:

javascript - 无法将事件监听器附加到动态创建的按钮

javascript - 如何让 Javascript 在 WP-Ecommerce Javascript 上工作以进行产品输入?

javascript - Backbone.js 事件处理程序不工作

javascript - Angular ng-model 将数据作为数组发送到rails-api

javascript - 如何在延迟 2 秒后触发 $watch 或执行范围订阅属性的最后一个条件?

angularjs - 如何在没有指令的情况下将 JQuery 与 Angular 一起使用?

javascript - 如何将html表格的文本复制到剪贴板?

javascript - 更改表单名称的表单验证

javascript - 从文本文件获取数据到 HTML 页面

javascript - angularjs ng重复: only show a list off matched results