Выставить ng-форму в области видимости и ссылку в ng-init - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь сделать что-то вроде этого:

<div ng-form="testForm" ng-init="$ctrl.doStuffWithForm(testForm)>

Где я определяю форму / публикую форму в текущей области с именем testForm и передаю этот объект формы в $ctrl.doStuffWithForm() в ng-init. Однако, по-видимому, происходит то, что во время ng-init создание формы и / или создание testForm в области еще не произошло (другое тестирование показывает мне, что testForm указывает на контроллер формы в точке позже в жизненном цикле Angular).

Можно ли как-нибудь передать контроллер формы методу в ng-init, как это? Или я должен делать это по-другому? Есть ли атрибут, похожий на ng-init, но который используется позже в жизненном цикле? То, что я пытаюсь сделать, это в основном ng-repeat для элемента с ng-form и передавать каждую форму в метод контроллера, когда каждый элемент инициализируется.

Ответы [ 2 ]

1 голос
/ 10 июля 2019

Избегайте использования директивы $ng-init.Просто присвойте ng-form свойству объекта $ctrl:

<div ng-form="$ctrl.testForm">
    {{$ctrl.testForm.$dirty}}
</div>
0 голосов
/ 11 июля 2019

Мне удалось достичь желаемых результатов, поместив ng-init в дочерний элемент ng-form:

<div ng-form="testForm">
    <div ng-init="$ctrl.doStuffWithForm(testForm)></div>
</div>
...