我正在阅读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
,该对象自动在后台绑定到您的控制器作用域。