我正在阅读ng-form的Angular文档,它说


  形成
  -实例化FormController的ng指令模块中的指令。


听起来不错。但是,当我查看example时,它显示如下内容:

<form name="myForm" ng-controller="FormController" class="my-form">


ngController指定的FormController是否与表单自动实例化的相同?

谢谢。

最佳答案

他们是两个不同的控制器。

通过ng-controller声明的控制器允许您将数据绑定到控制器的作用域,或直接绑定到控制器中的form对象。

HTML:

{{userType}}
<input ng-model="myForm.userType" />


控制器:

$scope.userType = 'guest';
$scope.myForm.userType = 'guest';


FormController通过$ isDirty,$ setPristine等方法控制表单的状态,并不需要您维护表单的行为。

HTML:

{{myForm.$isDirty()}}


控制器:

$scope.myForm.$setPristine();


请注意,在文档的第一个实例中,直接引用userType,因为它位于ng-controller绑定的任何控制器的作用域内。在第二个实例中,我们引用了表单对象本身的作用域myForm,该对象自动在后台绑定到您的控制器作用域。

07-24 09:50