コントローラー内に 3 つの異なるフォームを含むペイン システムがあります。今、私が理解しているように、 ng-include は子スコープを作成し、親スコープからは利用できなくなります。
フォーム データを解決するために、ng-submit で実行する関数に ng-model を渡しましたが、これは 1 つの方法にすぎません。
通常の状況では、これを行うことができます:
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が未定義になります。