Форма AngularJS 1.6.1 и ngInclude

Angular 1.6.1 ломает ngInclude в моем проекте. Я использую ui-bootstrap 0.14 для вкладок.

<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 раз в секунду:

Неперехваченная ошибка: [$rootScope:infdig] http://errors.angularjs.org/1.6.1/$rootScope/infdig?p0=10&p1=%5B%5D

Ошибка: [ng:cpws] http://errors.angularjs.org/1.6.1/ng/cpws


person Oktay Myumyunov    schedule 04.01.2017    source источник
comment
Пробовали без перевода, чтобы исключить это? Пробовали разные версии Angular/ui-bootstrap?   -  person tasseKATT    schedule 04.01.2017
comment
Да. Если я удалю name=formular.grundlagen, проблема исчезнет. Но мне это нужно для проверки формы.   -  person Oktay Myumyunov    schedule 05.01.2017
comment
У вас есть код, который каким-то образом изменяет какие-либо данные в formular.grundlagen при загрузке шаблона? Пытаюсь воспроизвести проблему в Plunker.   -  person tasseKATT    schedule 05.01.2017
comment
У меня нет кода, который модифицирует, но есть код, который проверяет формулу.grundlagen.$dirty. Я просто нашел решение и поделился им здесь.   -  person Oktay Myumyunov    schedule 05.01.2017


Ответы (1)


Проблема в названии формы. Angular 1.6 не позволяет добавлять подобъект в качестве имени формы. Если вы используете простую строку (например, "grundlagen"), она добавляется в $scope как $scope.grundlagen, и проблем не возникает. Если вы используете такой объект, как «formular.grundlagen» (даже если вы заранее определили в своем контроллере $scope.formular = {};), это вызывает сообщения об ошибках.

person Oktay Myumyunov    schedule 05.01.2017