首页 > 解决方案 > 允许在递归模板中嵌入多个指令

问题描述

我目前正在从后端接收一棵经理及其下属的树。我正在使用递归模板来显示它。

 <script type="text/ng-template" id="managerTmp">

        <div class="accordion">
            {{user.firstName}} {{user.lastName}}
            <ul class="list-group" ng-if="user.subordinates" >
                <li class="list-group-item" ng-if="user.subordinates" ng-repeat="user in user.subordinates" ng-include="'managerTmp'">
                </li>
            </ul>
          </div>
    </script>

    <div class="col-lg-12" ng-show="section === 5">
            <uib-accordion close-others="oneAtATime" ng-show="portal.acManagers && !spinning">
                <ul class="list-group" id="1q2w3e">
                    <li class="list-group-item" ng-repeat="user in portal.acManagers" ng-include="'managerTmp'" ></li>
                </ul>
            </uib-accordion>
   </div>

这一切都很好,我得到了树的 ul/li。但是,每当我尝试将 ul/li 更改为 angularUI 手风琴(uib-accordion 和 uib-accordion-group)时,我都会收到一条错误消息

错误:[$compile:multidir] 多个指令 [ngInclude, uibAccordionGroup (module: ui.bootstrap.accordion)] 要求嵌入:<uib-accordion-group class="list-group-item" ng-if="user.subordinates" ng-repeat="user in user.subordinates" ng-include="'managerTmp'" id="azqx">

我不完全理解这个问题或为什么 angularjs 不允许这样做?任何帮助将不胜感激。

标签: angularjsangularjs-directiveangular-ui-bootstrapangularjs-ng-includeangularjs-ng-if

解决方案


推荐阅读