我正在阅读angular.io(Reactive forms are synchronous)的文档,试图了解反应形式(它们是同步的,而模板驱动的形式是异步的)。
但是该文档没有关于example的足够说明。谁能帮助我了解模板驱动形式是异步的,而反应形式是同步的?
我试图在互联网上浏览很多博客,但没有得到答案。
任何帮助表示赞赏。
最佳答案
在同一文档中仔细阅读此行:
反应形式是同步的(当您通过代码创建控件时)
在反应形式中,您可以在代码中创建整个表单控件树。由于所有控件始终可用,因此您可以立即更新值或在父窗体的后代中进行追溯。
模板驱动的表单是异步的(因为它委派了创建控件的任务)
模板驱动的表单将其表单控件的创建委托给指令。为避免“检查后更改”错误,这些指令要花费一个以上的周期来构建整个控制树。这意味着在操作组件类中的任何控件之前,您必须先打勾。
在您驱动的模板中,编写[NgModel]或[NgForm](伪指令),这些任务将以html格式在网页上创建控件的任务,这就是它变为异步的方式。
如果您连接了钩子ngAfterViewInit生命周期钩子,您将很容易发现它们之间的区别,
在“反应式”表单中,您可以找到控制您不在模板中驱动的位置。
关于angular - Angular 2/4:响应式(Reactive)表单是同步的,而模板驱动的表单是异步的,如何?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49665096/