Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >角反应形式- FormGroupName在FormGroupName内

角反应形式- FormGroupName在FormGroupName内
EN

Stack Overflow用户
提问于 2018-05-13 12:21:07
回答 1查看 21.8K关注 0票数 6

我有一个从API返回的嵌套JSON响应,它的结构与在模板上显示它的方式不同,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Component({
  selector: 'reactive-form-example',
  styles: ['./reactive-form-example.component.css'],
  template: `
    <form [formGroup]="form" (ngSubmit)="onSubmit()">
        <div formGroupName="first">
            <input type="text" placeholder="some id" formControlName="someId">
            <div formGroupName="second">
                <input type="text" placeholder="some text" formControlName="someText">
            </div>
        </div>
    </form>
  `
})
export class ReactiveFormExampleComponent {
    form = new FormGroup({
        first: new FormGroup({
            someId: new FormControl('587824')
        }),
        second: new FormGroup({
            someText: new FormControl('the sky is blue')
        })
    });
    onSubmit(value) {
        console.log('Submit', this.form.value);
    }
}

问题:是否有可能在另一个formGroupName中嵌套formGroupName,或者是否有更好的方法使用反应性表单来实现相同的结果?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-13 13:19:53

是。formGroupName可以嵌套在另一个formGroupName中。

formGroupNameformControlName属性通过在父FormGroup中找到具有该特定名称的控件来工作。

请注意,您的问题是由于您试图在FormGroup FormGroup中找到名为secondfirst而引起的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<form [formGroup]="form">
    <div formGroupName="first">
        <div formGroupName="second">
        </div>
    </div>
</form>

要做到这一点,您必须按照以下方式调整您的模型,其中second成为first的子代

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
form = new FormGroup({
    first: new FormGroup({
        someId: new FormControl('587824'),
        second: new FormGroup({
            someText: new FormControl('the sky is blue')
        })
    }),        
});

emostafa的建议之所以有效,是因为您要求form实例在模型中获得一个名为second的直接子级。在这种情况下是存在的。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50320307

复制
相关文章
Angular系列教程-第四节
1.表单 Angular 提供了两种不同的方法来通过表单处理用户输入:响应式表单和模板驱动表单。 两者都从视图中捕获用户输入事件、验证用户输入、创建表单模型、修改数据模型,并提供跟踪这些更改的途径
苦咖啡
2020/04/21
2.8K0
Angular 2 + 折腾记 :(7) 初步了解表单:模板驱动及数据驱动及脱坑要点
表单在整个系统中的作用相当重要,这里主要扯下响应表单的实现方式。 首先需要操作表单的模块引入这两个模块; import { FormsModule, ReactiveFormsModule } from '@angular/forms';
CRPER
2018/08/28
3.8K0
Angular 2 + 折腾记 :(7) 初步了解表单:模板驱动及数据驱动及脱坑要点
Angular 从入坑到挖坑 - 表单控件概览
angular 入坑记录的笔记第三篇,介绍 angular 中表单控件的相关概念,了解如何在 angular 中创建一个表单,以及如何针对表单控件进行数据校验。
程序员宇说
2020/03/19
18.9K0
在Excel内实现跳跃!
今天和大家分享Excel中跳跃的神器。 想提跳跃,你会想到什么? 嗯 思路对了,我们实现的就是在Excel内实现跳棋。直接说需求吧! 我有好几千行的数据 问题如下: 问题一:如何实现快速跳转到有
用户1332619
2018/03/08
1.8K0
在Excel内实现跳跃!
内点法初探——线性规划标准形式下的求解思路
其中,线性规划标准形是线性规划的一种特殊情况,近年来已经被广泛、深入地研究。在求解线性规划问题时,可以将上述的一般形式通过某种变化(如引入松弛变量等)转换成标准形式:
锅逗逗
2022/08/01
8710
内点法初探——线性规划标准形式下的求解思路
在GridView内访问特定控件
本文我将为你演示如何访问GridView中的特定控件。我们会看到怎样去访问TextBox控件,DropDownList控件以及ListBox控件。
Java架构师必看
2021/03/22
2.6K0
在容器内获取 Pod 信息
注意:env 不直接设置 value,而是使用 valueFrom 对 Pod 的元数据进行引用
看、未来
2022/09/27
8970
反应式编程在微服务下的重生
反应式编程在好几年前就已经出现了,它原理是基于反应式编宣言。但是,由于反应式编程推广速度比较缓慢,导致很多人现在对其不是很了解。
用户5397975
2019/10/13
8420
IBinder对象在进程间传递的形式(一)
当service经常被远程调用时,我们经常常使用到aidl来定一个接口供service和client来使用,这个事实上就是使用Binder机制的IPC通信。当client bind service成功之后,系统AM会调用回调函数onServiceConnected将service的IBinder传递给client, client再通过调用aidl生成的asInterface()方法获得service的调用接口,此时一个bind过程结束了,我们在client端就能够远程调用service的方法了。比如
全栈程序员站长
2022/07/12
9180
IBinder对象在进程间传递的形式(一)
反应式编程在微服务下的重生
反应式编程的提出,是在分布式编程刚兴起不久。当时没有各种 PaaS 平台,而分布式系统中,常常出现一个节点出问题,导致整个系统瘫痪的情况。所以,反应式编程的思想是:不等不靠,即当有一个节点慢下来的时候,整个系统都放慢,以此来避免灾难性的后果。
用户1516716
2019/05/14
8640
反应式编程在微服务下的重生
我在组内的Nacos分享
Nacos : Naming and Configuration Service,可打包部署配置中心和注册中心,也可独立部署其中之一,配置中心、控制台依赖mysql,由阿里巴巴2018年8月开源,github 19.1k star(截止2021.08.24)
龟仙老人
2021/08/26
1.1K0
在循环内使用闭包(Closures)
闭包的本质是一个内部函数访问其作用域之外的变量。闭包可以用于实现诸如 私有变量 和 创建工厂函数之类的东西。
前端迷
2018/10/22
1.2K0
Leetcode|固定四角从外围至内围|54. 螺旋矩阵
1 模拟 class Solution { public: vector<int> spiralOrder(vector<vector<int>>& matrix) { vector<int> res; int rowlen = matrix.size(); // 行数 int collen = matrix[0].size(); // 列数 int left = 0, right = collen - 1,
SL_World
2022/01/10
2440
Leetcode|固定四角从外围至内围|54. 螺旋矩阵
写在2015 项目回看 -- 敏捷在思想不在形式
面试的时候了解到的情况: 软件组主管刚刚离职,需要一个人接手 公司有一个成熟的框架,国外开发的,很多功能可以复用 公司的程序员都在公司干了2~3年左右 团队项目实际情况: 所谓的框架,实际上就是国外已经上线的一个系统。业务逻辑和功能模块是面向对象方式写的,但具有相当高的耦合性(编码不够抽象,业务和功能有时混在一起,功能写的时候是针对特定的业务)。 程序员,一个基本只会数据库,面向对象基本不了解,而且思想固执,很难沟通,我们暂叫他(H)吧 -- means Hard。 一个90后,工作经验毕竟不足,但是学习和
麦克-堂
2018/04/12
7690
敏捷微服务在几分钟内
通过将您的敏捷计划与低代码微服务相结合,在短短几分钟内构建出您的敏捷计划以部署微服务。以下是一个出色的例子。
Brave~坤
2018/07/05
1.3K0
敏捷微服务在几分钟内
在 Vue 对象模块内如何使用 this 对象?
众所周知,js 中的 this 对象在不同作用域下指代不同的对象实例,并且在以下 4 种场景中经常会“不知所向”:
LIYI
2019/09/02
2.7K0
VBA: 在工作簿内复制用户窗体
文章背景:Excel中,在创建完一个用户窗体(Userform)后,有时想要在此基础上,创建针对另一场景的用户窗体。那么,如何在工作簿内复制用户窗体呢?下面介绍两种办法。
Exploring
2022/09/20
1.5K0
tke在pod内通过kubectl访问集群
现在各类云厂商都有提供托管的k8s服务,并且有提供可视化的前端来访问集群内资源,同样tke集群也是如此,但是作为一个k8s的使用者,用kubectl来访问集群是必不可少的,tke控制台并不是会显示所有资源类型,像一些自定义的crd就只能通过命令查看了,并且及时有控制台查看,很多大佬还是习惯命令操作了。但是云上的权限一般都管控比较严格,你可能只有控制台操作权限,没有登录机器的权限,又或者说你的集群没有开启公网访问,只能内网访问,这个时候该怎么通过kubectl去访问集群呢?
聂伟星
2021/10/15
1.8K1
在Gaussian16中同时扫描两个反应坐标
是依次扫描两个坐标,无法做到同时,因此得到的是一张二维势能面,总扫描点数是两个坐标扫描点数的乘积,计算量较大。然而有时候我们只想同时扫描两个反应坐标,即两个坐标同时改变,得到一条曲线。
用户7592569
2020/07/27
3.2K1
在Gaussian16中同时扫描两个反应坐标
让你的博客在QQ中以XML形式显示
1、复制下面链接,把后面域名更为成自己的 (红色区域,注意域名前面HTTPS),复制到浏览器打开 。
SingYi
2022/07/13
1.7K0
让你的博客在QQ中以XML形式显示

相似问题

角反应形式:将.controls属性与formGroupName一起使用

10

动态创建不工作的formGroupName角反应窗体

30

如何正确使用角度形式的formGroupName

10

角- formGroupName值更改不更新窗体。

40

在不嵌套对象时使用“`formGroupName`”

115
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文