我可以在 Angular 4 的同一个组件中使用两个 ngForm 吗?

Posted

技术标签:

【中文标题】我可以在 Angular 4 的同一个组件中使用两个 ngForm 吗?【英文标题】:Can I use two ngForm in same component in angular 4? 【发布时间】:2018-01-07 05:33:20 【问题描述】:

我正在设计一个设置页面。我想在同一个组件中设计两种不同的形式。一个用于个人资料更新,一个用于密码更新。是否可以在同一个组件中使用两个表单元素?

【问题讨论】:

答案是肯定的 @Huangism 是最佳实践还是有更好的方法? 如果您需要 2 个表格,则执行 2 个表格,如果您需要 10 个表格,则执行 10 个表格。您对多于 1 个表格有什么顾虑? 是的,请这样做。尝试跨组件共享表单组有点困难。如果您从两种不同的形式开始,那么以后将密码逻辑移动到另一个组件会更容易。 我可能有 1 个 settings_component,它有 2 个子组件,一个用于 profileUpdate,一个用于 passwordUpdate。哪一个更好?有 2 个子组件用于 2 个表单。还是有 2 种形式的一个组件? 【参考方案1】:

是的,如果需要,您可以在一个屏幕中显示多个表单。 根据需要定义多个反应式表单或模板驱动表单。它由 Angular 支持。 如果你的两个子组件不需要相互做任何事情,你可以有两个表单,一个组件中的一个。如果表单在初始化时相互关联(使用数据对象等),那么您可以将它们放在同一个组件中。没问题..这让你的生活更轻松。

【讨论】:

以上是关于我可以在 Angular 4 的同一个组件中使用两个 ngForm 吗?的主要内容,如果未能解决你的问题,请参考以下文章

自定义 angular2 表单输入组件,在组件内具有两种方式绑定和验证

Angular 4在不使用服务的情况下从另一个组件执行功能

来自组件的Angular 4调用指令方法

Angular 4:路由到另一个组件后保存组件状态

我们可以直接在Angular 4组件中订阅RxJs主题吗?

Angular 4:访问其他组件中的模板元素