Javascript AngularJS FormController中$addControl方法的用途是什么?
我正在浏览这些文件,偶然发现了全班同学。我发现有两种方法可以添加和删除控件,即Javascript AngularJS FormController中$addControl方法的用途是什么?,javascript,angularjs,Javascript,Angularjs,我正在浏览这些文件,偶然发现了全班同学。我发现有两种方法可以添加和删除控件,即$addControl()和$removeControl()。我假设这些控件将用于动态添加和删除表单控件,但如何准确地使用它们呢?formController跟踪其中的一组子输入控件,以便在作用域上设置这些子输入控件的控制器,并跟踪$dirty/$pristine,$valid/$invalid等。。。基于其子控件的窗体的状态 此API由ngModelController调用,这是Angular实现其内置(并为自定义)
$addControl()
和$removeControl()
。我假设这些控件将用于动态添加和删除表单控件,但如何准确地使用它们呢?formController
跟踪其中的一组子输入控件,以便在作用域上设置这些子输入控件的控制器,并跟踪$dirty
/$pristine
,$valid
/$invalid
等。。。基于其子控件的窗体的状态
此API由ngModelController
调用,这是Angular实现其内置(并为自定义)输入控件的方式,并由子窗体的formController
调用,以向其父窗体formController
注册它们自己
如果您实现了需要“ngModel”
的自定义输入控制器(即支持ngModel
抽象层的自定义输入控件),那么这就为您完成了
对于绝大多数情况,这已经足够了。但是,假设可以实现自己的
ngModel
-like指令,然后可以使用此API将非ngModel
控件注册到formController
是的,它可以用于动态添加控件。当您使用ng模型输入时,这是自动为您完成的。因此,基本上只要有一个输入元素具有ng model
属性,或者有一个指令需要ngModel,或者有ng model
作为其模板的一部分,那么我就不必显式地调用$addControl()
方法?如果是这样的话,那么这样的代码被认为是正确的:@kshep92,ngModel
就是$addControl
的作用。绝大多数实现输入控件的指令(例如,input
,select
,等等)都使用ngModel
方法,对于这些指令,无需担心$addControl
我在自定义控件上使用的是ngModel
,但它的父窗体没有条目:(我要补充的是,使用相同ngModel的两个输入将导致不添加ngModel