我有一个窗格系统,在我的控制器内包含三种不同的表单。现在,据我了解 ng-include 创建了一个子作用域,使其在父作用域中不可用。
为了解决表单数据,我将 ng-model 传回了我在 ng-submit 中运行的函数中,但这只是一种方式。
在正常情况下,我可以这样做:
HTML Form tag example
<form novalidate name="myForm" ng-submit="someFunction(form)">
HTML Form Field example
<input ng-model="form.first_name" name="first_name" type="text" pwtest required/>
Controller
$scope.myForm.first_name.$setValidity('required', false);
这工作正常,我的表单数据被返回,我可以将它发送到我的 API 并且我的字段状态也被正确设置。
现在问题..
HTML Form tag example
<form novalidate name="myForm" ng-submit="someFunction(form)">
HTML Form Field example
<input ng-model="form.first_name" name="first_name" type="text" pwtest required/>
Controller
$scope.myForm.first_name.$setValidity('required', false); <-- fails since myForm doesnt exist
这正常工作,但现在我的表单存在于子范围中,因此myForm在我的控制器中变得未定义,因为它当然应该是,因为它不存在于范围中。