Angularjs 允许在递归模板中转包多个指令

Angularjs 允许在递归模板中转包多个指令,angularjs,angularjs-directive,angular-ui-bootstrap,angularjs-ng-include,angularjs-ng-if,Angularjs,Angularjs Directive,Angular Ui Bootstrap,Angularjs Ng Include,Angularjs Ng If,我目前正在从后端接收一个经理及其下属树。我正在使用一个递归模板来显示它 <script type="text/ng-template" id="managerTmp"> <div class="accordion"> {{user.firstName}} {{user.lastName}} <ul class="list-group" ng-if="user.subordinates" >

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

 <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>

{{user.firstName}{{user.lastName}}
这一切都很好,我得到了该树的ul/li。然而,每当我尝试将ul/li更改为angularUI手风琴(uib手风琴和uib手风琴组)时,我都会得到一个错误,即

错误:[$compile:multidir]多个指令[ngInclude,uibacordiongroup(模块:ui.bootstrap.accordion)]请求在:


我不完全理解这个问题,或者为什么angularjs不允许这样做?非常感谢您的帮助。

要解决此问题,请删除导致冲突的指令之一。请参阅。如果
ng repeat
为其迭代器使用了
user
以外的另一个名称,这将是明智的。
ng if
指令错误且不需要。另外,如果您在示例中包含损坏的代码而不是工作代码,这也会很有帮助。