2017-01-04 48 views
0

Angular 1.6.1在我的項目中打破ngInclude。我使用ui-bootstrap 0.14作爲選項卡。AngularJS 1.6.1格式和ngInclude

<uib-tabset class="col-xs-11 " id="detailsContainer" > 
 
    <uib-tab active="$root.isFirstTabActive" heading="{{'general.BASICS' | translate}}"> 
 
     <ng-include src="'QM-Technik/tickets/detailsTabs/grundlagen.html'"></ng-include> 
 
    </uib-tab> 
 
</uib-tabset>

我的模板是一個看起來像這樣的形式:

<form class="form-horizontal" name="formular.grundlagen"> 
 
    <div class="col-sm-6"> 
 
     <div class="form-group"> 
 
      <label class="control-label pflichtFeld col-sm-4" translate="general.NUMBER"></label> 
 
      <div class="col-sm-7"> 
 
       <input type="number" class="form-control" ng-model="ticket.tt_tik_nr" readonly /> 
 
      </div> 
 
     </div> 
 
</form>

我的前端是仍在運行,但在控制檯中我得到這個2短信100次:

Uncaught Error: [$rootScope:infdig] http://errors.angularjs.org/1.6.1/ $rootScope/infdig?p0=10&p1=%5B%5D

Error: [ng:cpws] http://errors.angularjs.org/1.6.1/ng/cpws

+1

試過沒有翻譯的東西來排除?試過不同版本的Angular/ui-bootstrap? – tasseKATT

+0

是的。如果我刪除名稱=「formular.grundlagen」,問題就消失了。但我需要它來驗證表單。 –

+0

當模板被加載時,你有沒有任何代碼可以修改'formular.grundlagen'中的任何數據?試圖在Plunker中重現這個問題。 – tasseKATT

回答

0

問題出現在表單名稱中。 Angular 1.6不允許添加子對象作爲表單名稱。 如果您使用簡單的字符串(例如「grundlagen」),它將被添加到您的$作用域$ scope.grundlagen並且沒有問題。 如果您使用類似「formular.grundlagen」的對象(即使您在控制器中預定義了$ scope.formular = {};),它會導致出現錯誤消息。