错误:[$ compile:multidir]使用uib-tab

时间:2016-02-28 09:42:25

标签: javascript angularjs angular-ui-bootstrap

我的代码是:

<uib-tabset>
  <uib-tab  id="tab1" heading="Tab1">
    <div ng-include="'partials/tab1.html'"></div>
  </uib-tab>
    <uib-tab  id="tab2" heading="Tab2" ng-controller="Tab2Controller">
    <div ng-include="'partials/tab2.html'"></div>
  </uib-tab>
    <uib-tab  id="tab3" heading="Tab3" ng-controller="Tab3Controller">
    <div ng-include="'partials/tab3.html'"></div>
  </uib-tab>
</uib-tabset>

它工作正常,直到我更新AngularJS和AngularUI Boostrap并获得:

Error: [$compile:multidir]

对于每个具有自己的控制器的选项卡(在我的情况下为Tab2和Tab3)。

1 个答案:

答案 0 :(得分:0)

一种可能的解决方案是将控制器设置为内部div而不是ui-tab元素:

<uib-tabset>
  <uib-tab  id="tab1" heading="Tab1">
    <div ng-include="'partials/tab1.html'"></div>
  </uib-tab>
  <uib-tab  id="tab2" heading="Tab2">
    <div ng-include="'partials/tab2.html'" ng-controller="Tab2Controller"></div>
  </uib-tab>
  <uib-tab  id="tab3" heading="Tab3">
    <div ng-include="'partials/tab3.html'" ng-controller="Tab3Controller"></div>
  </uib-tab>
</uib-tabset>