1

我正在尝试做这样的事情:

<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,并在每个元素被初始化时将每个表单传递给一个控制器方法。

4

2 回答 2

1

避免使用$ng-init指令。只需将 分配给对象ng-form的属性$ctrl

<div ng-form="$ctrl.testForm">
    {{$ctrl.testForm.$dirty}}
</div>
于 2019-07-10T19:09:59.013 回答
1

ng-init通过将 放入元素的子元素中,我能够达到我想要的结果ng-form

<div ng-form="testForm">
    <div ng-init="$ctrl.doStuffWithForm(testForm)></div>
</div>
于 2019-07-11T14:35:09.853 回答