首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Angular中动态创建控件时不呈现formControlName

在Angular中,如果要动态创建控件并且不需要使用formControlName来呈现控件,可以使用Reactive Forms中的FormControl和FormGroup来实现。

首先,需要导入Reactive Forms模块:

代码语言:txt
复制
import { ReactiveFormsModule, FormControl, FormGroup } from '@angular/forms';

然后,在组件中创建一个FormControl或者FormGroup对象来表示动态创建的控件:

代码语言:txt
复制
// 创建一个FormControl对象
const dynamicControl = new FormControl();

// 创建一个FormGroup对象
const dynamicGroup = new FormGroup({
  dynamicControl: new FormControl()
});

接下来,可以在模板中使用动态创建的控件。例如,使用FormControl对象:

代码语言:txt
复制
<input [formControl]="dynamicControl" type="text">

或者使用FormGroup对象:

代码语言:txt
复制
<form [formGroup]="dynamicGroup">
  <input formControlName="dynamicControl" type="text">
</form>

需要注意的是,如果使用FormControl对象,需要将其绑定到对应的input元素上,而如果使用FormGroup对象,则需要将其绑定到form元素上,并使用formControlName来指定控件的名称。

关于Angular中动态创建控件的更多信息,可以参考官方文档:

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Angular 从入坑到挖坑 - 表单控件概览

一、Overview angular 入坑记录的笔记第三篇,介绍 angular 中表单控件的相关概念,了解如何在 angular 创建一个表单,以及如何针对表单控件进行数据校验。...响应式表单 建立表单 由组件隐式的创建表单控件实例 组件类中进行显示的创建控件实例 表单验证 指令 函数 表单数据发生变更,模板驱动表单通过修改 ngModel 绑定的数据模型来完成数据更新,...4.3.2、通过 FomGroup 组合多个控件 一个表单不可能只有一个控件,通过组件构造 FormGroup 实例来完成对于多个表单控件的统一管理 使用 FormGroup ,同样组件定义一个属性用来承载控件组实例...,设定规则,需要将模板控件名对应的数据值的第二个参数改为验证的规则 响应式表单,数据源来源于组件类,因此应该在组件类中直接把验证器函数添加到对应的 FormControl 的构造函数上。...模板驱动表单,因为不是直接使用的 FormControl 实例,因此这里应该在模板上添加一个自定义的指令来完成对于控件数据的校验 使用 angular cli 创建一个用来进行表单验证的指令 ng

18.9K20

Angular系列教程-第四节

两者都从视图中捕获用户输入事件、验证用户输入、创建表单模型、修改数据模型,并提供跟踪这些更改的途径 使用’@angular/forms’库的FormGroup, FormControl,FormArray...,FormBuilder 等类构建出的数据对象就是响应式的表单,响应式的表单,我们会在数据源里面进行各种操作,像添加校验等,html文件中使用 formGroup,formGroupName,formControlName...总结 响应式表单是动态的,模板驱动表单是固定的 2.响应式表单使用 注册ReactiveFormsModule 组件导入FormControl 模板中注册组件 控件的值(获取setvalue...minLength 此验证器要求控件值的长度大于等于所指定的最小长度。当使用 HTML5 的 minlength 属性,此验证器也会生效。...maxLength 此验证器要求控件值的长度小于等于所指定的最大长度。当使用 HTML5 的 maxLength 属性,此验证器也会生效。 pattern 此验证器要求控件的值匹配某个正则表达式。

2.8K50

Angular 2 + 折腾记 :(7) 初步了解表单:模板驱动及数据驱动及脱坑要点

前言 表单在整个系统的作用相当重要,这里主要扯下响应表单的实现方式。...首先需要操作表单的模块引入这两个模块; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; ---- 表单控件响应的几种状态...()函数内,点击提交的时候对整个表单一一去判断,传统方式基本这样 每个控件输入的时候对应去触发对应的事件做校验,比如[ngModelChange]来处理双向绑定的值校验 ---- 数据驱动(Reactive...Form) 响应式表表单:原理是一开始就构建整个表单,表单的值通过特殊指令formControlName一一关联(类似ngModel); 相关名词: FormGroup: 用来追踪表单控件有效状态及值... 超过十个字

3.8K20

理论 | Angular 的响应式编程 -- 浅淡 Rx 的流式思维

 Rx--隐藏在Angular 2.x利剑 一文我们已经初步的了解了 Rx 和 Rx Angular 的应用。 今天我们一起通过一个具体的例子来理解响应式编程设计的思路。...Angular 处理响应式表单只有 3 个步骤: 1、组件的 HTML 模版给要处理的控件加上 formControlName="blablabla" 2、form 标签添加 [formGroup...这两个数据流其实是来自于两个控件的值的变化,而响应式表单获取值的变化是非常简单的就一行: 上面这行代码的意思是从表单的控件数组取得 formControlName 为 age 的这个控件然后监听其值的变化...所幸的是,Angular 提供了对于响应式编程非常友好的设计,我们完全可以不在代码做订阅或取消订阅的动作。那么问题来了,订阅的话,值怎么获得呢?答案是 Async 管道。...Async 会在组件初始化时自动的订阅以及组件销毁自动取消订阅,太爽了。

5.2K10

(转) 别再对 Angular 表单的 ControlValueAccessor 感到迷惑

如果你使用响应式表单,你需要显式创建 FormControl 对象,并使用 formControl 或 formControlName 指令来绑定原生控件;如果你使用模板驱动方法,FormControl...本文我将使用原生表单控件术语来区分 Angular 特定的 formControl 和你 html 使用的表单控件,但你需要知道任何一个自定义表单控件都可以和 formControl 指令进行交互,而不是原生表单控件如...image.png 再次强调,不管是使用响应式表单显式创建还是使用模板驱动表单隐式创建,ControlValueAccessor 都总是和 Angular 表单控件进行交互。...,当 Angular 组件模板遇到 input 或 textarea DOM 原生控件,会使用DefaultValueAccessor 指令: @Component({ selector:...组件封装器 由于 Angular 为所有默认原生控件提供了控件值访问器,所以封装第三方插件或组件,需要写一个新的控件值访问器。

3.7K20

Angular6自定义表单控件方式集成Editormd

(isDisabled: boolean): void; } writeValue:初始化的时候将formControl的值传递给原生表单控件(即,将模型的新值写入视图或 DOM 属性); registerOnChange...:用来获取原生表单控件的值更新通知Angular表单控件更新的函数(即,设置当控件接收到 change 事件后,调用的函数) registerOnTouched:用来获取通知用户正在交互的函数(即,设置当控件接收到...(isDisabled: boolean):设置DISABLED状态做的执行的方法。即,当控件状态变成 DISABLED 或从 DISABLED 状态变化成 ENABLE 状态,会调用该函数。...之后就可以表单组件可以直接引入了: ... 参考资料 Angular 4.x 自定义表单控件 【荐】深入Angular自定义表单控件 Angular集成Editor.md的Markdown编辑器,支持NgModel

5.2K20

Angular 表单2--响应式表单, 处理异步数据

上一节我们定义了一个响应式表单,其中表单数据是定义的时候就初始化好的,但是很多时候数据需要异步获取,比如 打开一个编辑页面,需要 请求HTTP拿到数据。...根据数据修改表单字段的值,最终体现在页面上。 我们改造上一节的例子,成为异步获取数据。...我们先创建service文件, 写一个loadUser方法,模拟HTTP请求 import { Injectable } from '@angular/core'; import { of } from...about: [] }); this.user$ = this.userService.loadUser().pipe( // tap 返回的还是 Observable 这里我们订阅...,我们模板中使用 async pipe 和 if else 语句实现有条件的显示表单 tap(user => this.form.patchValue(user)) );

2.7K30

在前端理解MVC服务之 Angular篇(完结)

介绍 本文是该系列的第三篇,旨在了解 MVC 体系结构如何创建前端应用程序。目的是了解如何构建前端应用程序。...第三篇文章,应用程序将使用 Angular 构建,该版本来自TypeScript 的第二个版本。因此,本文介绍应用程序从 TypeScript 到Angular的迁移。...角度允许我们忘记DOM,所以,让user.view.ts文件从我们的应用消失。最后,最后一篇文章,我们将转换代码以将其与 Angular 框架集成。 第 1 部分。...View 模型的直观表示,即用户所看到的部分 Controller - Model与View的链接 下图是我们的项目结构 该文件将充当一个画布,使用 元素动态构建整个应用程序。...('users', JSON.stringify(users)); } 此方法不会调用创建服务绑定的函数, JavaScript 或 TypeScript 开发callback是必需的,因为

4.1K20

Angular: 最佳实践

注意我们是怎么组件类上创建一个 statuses 字段,以便我们可以模版中使用这个枚举。但是假如我们多个组件中使用这个枚举呢?或者假如我们要在不同的组件使用其他枚举呢?我们需要不停创建这些字段?...小经验:当我们带有子元素的 HTML 元素上编写 ngFor 指令,请考虑将该元素分离为单独的组件,就像下面: <div *ngFor="let user...<em>在</em>模版<em>中</em>写 *ngIf=”someVariable === 1” 是可以的,其他很长的判断条件就不应该出现在模版<em>中</em>。...比如,你想在模版<em>中</em>为未正确填写表单<em>控件</em>添加 has-error 类(也就是说并非所有的校验都通过)。...如果我们有更多的表单<em>控件</em>,那么它会使得视图更加混乱,并且<em>创建</em>了很多重复的逻辑。

2.8K40

使用Angular8和百度地图api开发《旅游清单》

安装脚手架: npm install -g @angular/cli 复制代码 创建工作空间和初始应用 ng new my-app 复制代码 安装material UI npm install @angular...组件 每个 Angular 应用都至少有一个组件,也就是根组件,它会把组件树和页面的 DOM 连接起来。...class Storage {} ``` 复制代码 路由 Angular 的 Router 模块提供了一个服务,它可以让你定义应用的各个不同状态和视图层次结构之间导航要使用的路径。...百度地图api及跨域问题解决 我们进入百度地图官网后,去控制台创建一个应用,此时会生成对应的应用ak,如下: 本地调试将referer写成*即可,但是我们用ng的http或者fetch去请求api接口仍会出现跨域...添加旅游清单 表单空间我们都用h5原生控件,我们使用angular提供的form模块,具体代码如下: import { Component, OnInit } from '@angular/core';

6K30

Angular 动态表单

开发过程,表单是最常用处理数据的窗口。其出场率居高不下。每个表单都要去写HTML,CS, JS。还要验证。让本就枯燥繁琐的开发更显无趣。 动态表单功能: 不限布局。不限个数。...直接支持双向绑定(ngModel,formControlName) <a dynamic-form [options]="options" [(ngModel)]="formValue" [form]=...,生成FormGroup(有多个表单(主表单+多子表单)只有主表单才生成FormGroup,子表单直接传options) image.png 支持自定义模板,支持排序(order)。...现有控件,只写了下拉框和文本框。根据实际需求。可以扩展更多控件。(本插件样式也是没写的。每个项目的样式都不一样,写了反而影响你们的项目。...所以写) image.png 表单使用 image.png image.png 代码地址

3.2K40

Angular 从入坑到挖坑 - Router 路由使用入门指北

一、Overview Angular 入坑记录的笔记第五篇,因为一直加班的缘故拖了有一个多月,主要是介绍 Angular 如何配置路由,完成重定向以及参数传递。...至于路由守卫、路由懒加载等“高级”特性,并不会在本篇文章呈现 对应官方文档地址: 路由与导航 配套代码地址:angular-practice/src/router-tutorial 二、Contents...Angular 从入坑到弃坑 - Angular 使用入门 Angular 从入坑到挖坑 - 组件食用指南 Angular 从入坑到挖坑 - 表单控件概览 Angular 从入坑到挖坑 - HTTP...Angular 项目中,系统的路由需要我们将一个 url 地址映射到一个展示的组件,因此需要手动的去设置 url 与组件之间的映射关系 因为我们使用 Angular CLI 创建项目,选择了添加路由模组...4.2.2、动态路由传递 与使用查询参数不同,使用动态路由进行参数传值,需要我们定义路由就提供参数的占位符信息,例如在下面定义路由的代码里,对于组件所需的参数 newsId,我们需要在定义路由就指明

4.2K50

Angular2 VS Angular4 深度对比:特性、性能

这个Angular版本更加注重于开发移动应用程序,开发人员可以使用它创建跨平台的应用程序,解决了移动应用程序(功能,加载时间等)的挑战后,Angular2可以更容易的处理桌面组件。...动态载入: 这是之前的Angular版本均不具备的功能,Angular2包含了这个功能,即使开发人员忙碌,也能够添加新的指令或控件。 模板: Angular2,模板编译过程是异步的。...设计: 所有这些逻辑都是使用管道架构创建的,这使得将自己的操作添加到管道或删除默认操作变得非常简单。此外,它的异步字符允许开发人员管道,实现对用户进行身份验证或加载控件信息的服务器请求。...动画包: Angular4的开发人员将动画从Angular的核心部分提取出来,并将它们放在独立的包。这意味着如果开发人员不需要使用动画,就可以创建这些额外的代码。...模板的源映射: 每当模板的某些内容出现错误时,都将创建源映射,为原始模板提供有意义的说明内容。 结论: 对于仍处于学习阶段的人来说,Angular会有点混乱。

8.7K20

纯前端控件集 WijmoJS 2018V2发布,React、Vue和Angular更易用

VSCode设计器:用于自定义Angular 框架下WijmoJS 组件 Web在线设计器,用于创建和自定义wijmoJS 控件 VSCode设计器 此设计器是VSCode的扩展。...或者,还可以VSCode的扩展管理器搜索“wijmo”并从那里安装。 安装后重新加载VSCode。 然后打开一个使用WijmoJS 控件Angular应用程序并尝试启动设计器。...Web在线设计器 此设计器是用于创建和自定义WijmoJS控件的Web应用程序。 开发人员可以在任何浏览器运行此设计器。它允许将控件添加到设计图面,然后根据自己的喜好自定义它们。...WijmoJS 本次更新为Vue V2支持增加了很多不错的功能。比如,WijmoJS 子组件现在可以动态场景中正确工作,例如v-for和v-if指令。...例如,WjcFlexGrid组件类扩展了FlexGrid控件类。这也意味着当WijmoJS 用于“Web组件模式”,基础WijmoJS 控件类扩展了HTML 元素类。

7K20

走进AngularJs(二) ng模板中常用指令的使用方式

通过使用模板,我们可以把model和controller的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的。ng的模板真是让我爱不释手。...ng表达式不可以使用循环语句、判断语句,事实上模板中使用复杂的表达式也是一个推荐的做法,这样视图与逻辑就混杂在一起了。...$injector服务进行依赖注入;   6) 根据$injector服务创建$compile服务用于编译;   7) $compile服务编译DOM的指令、过滤器等;   8) 使用ng-init指令...顺着这个思路再多想一点,我们模板中使用{{}}显示数据ng编译完成之前页面上岂不是会显示出大括号及里面的表达式?确实是这样。...因为我编写的是单页面应用,页面只会在加载index.html的时候出这个问题,只需index.html的模板换成ng-bind就行。其他的模板是我们动态加载的,就可以放心使用{{}}了。

2.9K20

如何选择前端框架:ANGULAR VS EMBER VS REACT

原生App支持 使用Angular开发原生应用是2.0版本的最大改进,Agular团队与React联合,Angular 2.0 底层使用React Native渲染原生App,可实现新一代的混合App...Angular支持使用TypeScript语言(由微软提供的,为JavaScript提供类型检测等高级功能)。实际开发,很多开发人员还在使用TypeScript。...Angular很多方面的改进都期望能够使Angular成为众多企业开发首选的框架,使用2.0目前来看似乎有点冒险,但我相信Angular2.0代即将到来。...Ember2.0 特点 Ember 2.0主要改进——移除了之前建议开发的功能,旨在成为一个瘦身框架。Ember 1.13上运行的程序,可以无缝切换到Ember 2.0上。...React1.0 是三个框架中最轻量级的框架,React渲染UI控件方面做的非常好,经常与其他框架结对使用。然而更常见的情况就是与Flux 体系架构联合使用。

2.3K70
领券