我正在尝试做这样的事情:
<div ng-form="testForm" ng-init="$ctrl.doStuffWithForm(testForm)>
在其中定义表单/将表单发布到名称为testForm
的当前范围,并将该表单对象传递到$ctrl.doStuffWithForm()
中的ng-init
。但是,似乎正在发生的情况是,在ng-init
时,还没有发生表单的创建和/或范围内testForm
的创建(其他测试向我表明{ {1}}在角生命周期的后点指向做。
我有什么办法像这样将表单控制器传递给testForm
中的方法吗?还是我应该以其他方式来做?是否存在类似于ng-init
的属性,但该属性会在生命周期的后期使用?我想做的基本上是在元素上带有ng-init
的{{1}},并在初始化每个元素时将每种形式传递给控制器方法。
答案 0 :(得分:1)
避免使用$ng-init
指令。只需将ng-form
分配给$ctrl
对象的属性:
<div ng-form="$ctrl.testForm">
{{$ctrl.testForm.$dirty}}
</div>
答案 1 :(得分:0)
通过将ng-init
放在ng-form
元素的子元素中,我可以实现所需的结果:
<div ng-form="testForm">
<div ng-init="$ctrl.doStuffWithForm(testForm)></div>
</div>