Angularjs 来自控制器的参考角度调整窗体

Angularjs 来自控制器的参考角度调整窗体,angularjs,Angularjs,如何从控制器中引用ng表单对象 我有 <ng-form name="myForm"> </ng-form> 根据具体情况返回真或假 但是我想要的是从控制器中的函数中检查表单的状态,例如在发布数据或检索数据之前 我试过了 $scope.myForm.$valid 但这并不存在。$scope本身中也没有任何对myForm对象的引用 ng表单在ng repeat中使用,所有这些都在普通HTML表单对象中,这就是为什么要使用它 正如我所说,myForm.$invalid用于控

如何从控制器中引用ng表单对象

我有

<ng-form name="myForm">
</ng-form>
根据具体情况返回真或假

但是我想要的是从控制器中的函数中检查表单的状态,例如在发布数据或检索数据之前

我试过了

$scope.myForm.$valid
但这并不存在。
$scope
本身中也没有任何对
myForm
对象的引用

ng表单
ng repeat
中使用,所有这些都在普通HTML表单对象中,这就是为什么要使用它

正如我所说,
myForm.$invalid
用于控制HTML页面上该表单中的显示/启用控件


有什么想法吗?

一种在提交表单时检查表单是否有效的方法是将
myForm.$valid
传递到提交功能中:

<ng-form name="myForm" ng-submit="test(myForm.$valid, obj)">
  <input type="text" name="test" ng-model="obj.user" required>
  <input type="submit" ng-click="test(myForm.$valid, obj)" ng-disabled="!myForm.$valid">
</ng-form>
$scope.test = function($valid, obj) {
  if (!$valid) return;
  console.log(obj);
}

您想在什么功能中使用它?是ngClick还是ngSubmit功能?回答这个问题可能会有所帮助。您似乎可以在表单的元素上使用$valid和$invalid,而不是在整个表单上。可能重复。请参阅@dfsq-这些函数中没有任何函数使用它,而是在另一个$scope函数(如$scope)中使用它。getAdditionalData@camden_kid-是的,我已经可以通过使用前面提到的ng disabled=“myForm.$invalid”来控制提交按钮。看起来它可以做我想做的事情,但只能在提交时执行?国家可以吗(特别是myForm.$error对象,如图所示,如果不将其发回,则无法访问它?实际上,如果您查看此plnkr,该函数可以从控制器访问myForm对象:正确,这对单个ng表单有效,但在ng重复中无效。请参见fiddle的分叉作为示例。我希望能够像您一样访问它在表单$scope.myForm[2]中显示,但可能?@DeclanMcD在这种情况下,当ng repeat为每个表单创建新的作用域时,最好将表单传递给函数并打印它。
$scope.test = function($valid, obj) {
  if (!$valid) return;
  console.log(obj);
}