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

如何使用ngFor和ngModel绑定输入值?

ngFor是Angular框架中的一个内置指令,用于在模板中循环渲染一组数据。ngModel是Angular框架中的另一个内置指令,用于双向绑定输入元素的值和组件中的属性。

使用ngFor和ngModel绑定输入值的步骤如下:

  1. 在组件中定义一个属性,用于存储要循环渲染的数据集合。
  2. 在模板中使用ngFor指令绑定这个属性,并使用let关键字指定一个临时变量来代表循环中的每个数据项。
  3. 在模板中使用ngModel指令绑定输入元素的value属性和临时变量,实现双向绑定。

下面是一个示例代码:

组件中的代码:

代码语言:txt
复制
@Component({
  ...
})
export class MyComponent {
  items: string[] = ['Item 1', 'Item 2', 'Item 3'];
}

模板中的代码:

代码语言:txt
复制
<ul>
  <li *ngFor="let item of items; let i = index">
    <input [(ngModel)]="items[i]" type="text">
  </li>
</ul>

在上面的代码中,items是一个字符串数组,存储要循环渲染的数据。ngFor指令在li元素上进行循环渲染,ngModel指令将input元素的值和items数组中对应位置的值进行双向绑定。

这样,当用户在输入框中修改值时,对应位置的数组元素也会相应地更新。反之,如果在组件中修改了items数组的值,对应位置的输入框的值也会自动更新。

推荐的腾讯云相关产品:

  • 云服务器(CVM):提供弹性、安全、可靠的云端计算能力,适用于各类应用场景。产品介绍链接
  • 云数据库 MySQL 版(CDB):托管式数据库服务,提供高性能、可扩展、可靠的 MySQL 数据库。产品介绍链接
  • 云存储(COS):提供高扩展性和低成本的对象存储服务,适用于图片、视频、音频等多媒体文件存储。产品介绍链接

注意:答案中不包含亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等流行的云计算品牌商,如有需求可自行参考相关品牌商的文档和产品介绍。

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

相关·内容

AngularDart4.0 指南- 模板语法二 顶

以前缀类开始,可选地跟一个点(.)一个CSS类的名字替代括号内的元素属性:[class.class-name]。 以下示例显示如何使用class绑定来添加删除应用程序的“special”类。...使用HTML表单元素(如)的双向绑定会很方便。 但是,没有原生HTML元素遵循xxChange事件模式。...NgModel - 与[(ngModel)]形成元素的双向绑定 在开发数据输入表单时,通常都会显示数据属性,并在用户进行更改时更新该属性。 使用NgModel指令进行双向数据绑定使得这一切变得简单。...这是一个例子: 里面[(ngModel)] 回顾一下名称绑定,请注意,您可以通过单独绑定元素的value属性输入事件来获得相同的结果...如何输入框中提取当前显示的文本,以便更新数据属性? 谁想每一次都看看? 该ngModel指令隐藏了自己的ngModel输入属性ngModelChange输出属性背后的这些繁重的细节。

29.9K20

Angular 6.x 表单快速入门

适用于简单的场景 通过 [(ngModel)] 实现数据双向绑定 自动生成 Form Model (异步) 最小化组件类的代码 不易于单元测试 Reactive 表单的特点 比较灵活 适用于复杂的场景...第一节 - 创建最简单的输入如何实现双向绑定? 在 Angular 表单中,我们通过 ngModel 指令来实现双向绑定。...minlength.actualLength}} `, }) export class AppComponent { username = 'semlinker'; } 第四节 - 创建表单 如何使用表单...如何获取表单提交的? 在 Angular 中,我们可以通过 #loginForm="ngForm" 方式获取 ngForm 对象,然后通过 loginForm.value 来获取表单的。...比如联系人的信息包括姓名及住址,现在需对姓名住址进行精细化信息收集,姓名可精细化成姓名字,地址可精细化成城市、区、街等。

4.6K20

Angular 6.x 基础教程

第三节 - 事件模板引用 在 Angular 中,我们可以使用 (eventName) 语法,进行事件绑定。此外,可以使用 #variableName 的语法,定义模板引用。...需要注意的是,当 SimpleFormComponent 组件类的属性名称不是 message 时,我们需要告诉 Angular 如何进行属性绑定,具体如下: export class SimpleFormComponent...而在 Angular 中,我们是通过 ngModel 指令,来实现双向绑定。...上面示例中,我们使用 [(ngModel)]="message" 语法实现数据的双向绑定。该语法也称作 Banana in the Box 语法,即香蕉在盒子里 (比较形象生动,记忆该语法)。 ?...除了使用双向绑定,我们也可以通过 ngModel 指令,实现单向数据绑定,如 [ngModel]="message"。

15.6K20

AngularDart4.0 指南- 表单 顶

一路上你将学习如何: 用组件模板构建一个Angular表单。 使用ngModel创建读取写入输入控制的双向数据绑定。 跟踪状态变化表单控件的有效性。...使用ngModel双向数据绑定语法将数据属性绑定到每个表单控件。 为每个表单输入控件添加一个ngControl指令。 添加自定义CSS来提供视觉反馈。 显示隐藏验证错误消息。...p模板输入变量在每次迭代中是不同的power; 您使用语法显示其名称。 与ngModel的双向数据绑定 现在运行应用程序有点令人失望。 ? 你没有看到英雄数据,因为你还没有绑定到英雄。...你知道如何从早期的页面做到这一点。 显示数据教导属性绑定。 用户输入显示如何使用事件绑定监听DOM事件以及如何使用显示的值更新组件属性。 现在您需要同时显示,聆听提取。...关注绑定语法:[(ngModel)] =“...”。 现在运行应用程序并输入名称输入,添加删除字符。 您会看到这些字符出现在诊断文本中并消失。 在某个时候,它可能看起来像这样: ?

17.5K30

angular知识点梳理第二篇-基本语法

文章目录 前文回顾 基本语法 常见指令 NgModel NgFor NgIf Ng-container 管道 前文回顾 前面已经写了关于angular项目的基本介绍如何创建一个angular项目,这一篇主要梳理一些...angular的基本语法,这样有利于后面我们进行梳理别的知识点做一些铺垫 基本语法 常见指令 NgModel NgModel就和vue中的v-model的效果是一致的,只是写法会有一些区别,vue中是可以直接进行使用的...-- [(ngModel)] 是angular的绑定数据的语法 --> {{inputData}} 运行效果 NgFor NgFor和我们js中的for循环渲染数据是一致的,所以这里是比较容易理解的,简单的演示一下...-- 将list的索引获取到赋值给i --> {{item.title}} - {{i}} -

2.5K30

Angular学习资料大全常用语法汇总(让后端程序员轻松上手)

+'描述'"> 7、[(ngModel)] :双向绑定NgModel 指令允许你显示数据属性并在用户进行更改时更新该属性。..." id="example-ngModel" name='currentName'> //注意某些情况下需要加name表示唯一标识,不加的话可能会报错 导入 FormsModule 以使用 ngModel...要想在双向数据绑定使用 ngModel 指令,必须先导入 FormsModule 并将其添加到 NgModule 的 imports 列表中。...要了解关于 FormsModule ngModel 的更多信息,参阅表单一章。...将文本转换为列表 (数组) ng-model 绑定 HTML 控制器的到应用数据 ng-model-options 规定如何更新模型 ng-mousedown 规定按下鼠标按键时的行为 ng-mouseenter

5.3K41

AngularDart 4.0 高级-结构指令 顶

Angular设置let-hero为上下文的$implicit属性的NgFor已经用当前迭代的hero初始化了它的。 API指南描述了额外的NgFor指令属性上下文属性。...当你编写自己的结构指令时,可以使用这些微观语法机制。 研究NgIfNgFor的源代码是了解更多信息的好方法。 模板输入变量 模板输入变量是一个变量,其可以在模板的单个实例中引用。...在这个例子中有几个这样的变量:hero,iodd。 所有前面都有关键字let。 模板输入变量与模板引用变量不同,语义语法都不同。 您使用let关键字(let hero)声明模板输入变量。...NgSwitchCaseNgSwitchDefault是结构指令。使用星号(*)前缀表示法将它们附加到元素。当NgSwitchCase的与switch的匹配时,会显示它的宿主元素。...在没有合适的宿主元素时使用作为分组元素。 Angular将星号(*)语法解析为。 NgIf,NgForNgSwitch内置指令如何工作。

16K20

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

而响应式表单在表单数据发生变更时,FormControl 实例会返回一个新的数据模型,而不是直接修改原来的数据模型 4.2、模板驱动表单 通过使用表单的专属指令(例如 ngModel 进行双向数据绑定)...将数据一些对于用户的行为约束(某个字段必须填啊、某个字段长度超过了长度限制啊)绑定到组件的模板中,从而完成与用户的交互 4.2.1、模板驱动表单的双向数据绑定 在根模块中引入 FormsModule...在使用 ngModel 进行模板绑定时,angular 在 form 标签上自动附加了一个 NgForm 指令,因为 NgForm 指令会控制表单中带有 ngModel 指令 name 属性的元素,而...name 属性则是 angular 用来注册控件的 key,所以在表单中使用 ngModel 进行双向数据绑定时,必须要添加 name 属性 4.2.2、跟踪表单控件的状态 在表单中使用 ngModel...使用 FormBuilder 构建的控件,每个控件名对应的都是一个数组,第一个为控件的默认,第二项第三项则是针对这个设定的同步、异步验证方法 import { Component, OnInit

18.9K20

Angular系列教程-第四节

1.表单 Angular 提供了两种不同的方法来通过表单处理用户输入:响应式表单模板驱动表单。...等将数据视图进行绑定(需要引入ReactiveFormsModule) 模板驱动的表单是我们实例化好一个类的数据之后,在html中使用 NgForm 指令后将数据表单进行绑定,使用[(ngModel...它会控制那些带有 ngModel 指令 name 属性的元素,监听他们的属性。...) 表单验证 同步验证器异步验证器 备注:同步验证先执行,异步验证后执行 3.模板驱动表单使用 导入formcontrol 使用ngModel实现双向绑定 使用模板变量来获取表单 4...结构型指令 — 通过添加移除 DOM 元素改变 DOM 布局的指令,比如ngfor、ngif 属性型指令 — 改变元素、组件或其它指令的外观行为的指令,比如ngstyle 6.属性型指令 6.1

2.8K50

AngularDart4.0 指南-体系结构概述 顶

类似于* ngFor,{{hero.name}},(click),[hero]的代码使用Angular的模板语法。...当用户点击英雄的名字时,(click)事件绑定调用组件的selectHero方法。 双向数据绑定是一个重要的第四种形式,它使用ngModel指令将属性事件绑定在一个符号中。..."> 在双向绑定中,与属性绑定一样,数据属性将从组件输入输入框中。...出于这个原因,这个应用程序的JavaScriptTypeScript版本可以使用selectedHero作为* ngIf表达式的。 Dart版本必须使用布尔运算符!=替换。...实现双向数据绑定ngModel指令是一个属性指令的例子。 ngModel通过设置其显示属性并响应更改事件来修改现有元素(通常是)的行为。

7.9K30

浅谈 Checkbox Group 的双向数据绑定

前言 Checkbox 作为表单中最常见的一类元素,使用方式分为单多值,其中单绑定很简单,就是 true false,但是多值(Checkbox Group)的绑定就有一点复杂了。...在实际工作中发现很多组件库关于 checkbox-group 的双向绑定一直很别扭,或者说多多少少都有一些瑕疵。 开始本文之前,我们先假定有如下需求: ? 数据列表输出都是对象数组。...能否只用一个双向绑定就完成数据的输入输出,而不是在得到绑定的数据之后再使用数组的 filter、map 这些方法去过滤筛选。...那到底应该怎样设计 checkbox-group 的双向数据绑定才能更灵活的使用呢? 如何设计 Checkbox Group 在介绍如何设计之前,我们先尝试能否从其它组件设计中找到灵感。...Select 的双向数据绑定 下面我们看一下 Material Select Ng-Select 是如何设计双向绑定的,数据就以上面的 cars 为例。

2K10

AngularDart4.0 英雄之旅-教程-04明细 顶

-- each hero goes here --> 下一步你将添加英雄名字 使用ngFor指令罗列英雄 目标是将组件中的英雄列表绑定到模板,迭代它们,并单独显示它们。...ngFor指令遍历组件的英雄列表并为该列表中的每个英雄呈现该模板的一个实例。 表达式部分将hero标识为模板输入变量,其中包含每个迭代的英雄详情。...在显示数据的Showing a list property with *ngFor部分阅读更多关于ngFor模板输入变量模板语法页的ngFor部分 在节点内添加内容hero模板变量来显示英雄属性...在用户输入页面模板语法页面的事件绑定部分了解有关事件绑定的更多信息。 添加一个点击处理程序来显示选定的英雄  你不再需要hero属性,因为你不再显示一个英雄; 你正在显示一个英雄列表。...你增加了选择英雄显示英雄的细节的能力。 您了解了如何在组件模板中使用核心指令ngIfngFor。 您在CSS文件中定义了样式,并使用它们来设置应用程序的样式。

3K30

Angular 从入坑到挖坑 - 组件食用指南

一、Overview angular 入坑记录的笔记第二篇,介绍组件中的相关概念,以及如何在 angular 中通过使用组件来完成系统功能的实现 对应官方文档地址: 显示数据 模板语法 用户输入 组件之间的交互...在组件类中,通过使用 @Component 装饰器 1 用来将类声明为组件类,并为这个组件类配置一些元数据 2,以决定该组件在运行期间该如何处理、实例化使用 装饰器中存在三个基础的配置参数,用来完成组件与视图之间的关联...,可以使用管道对于表达式的结果进行转换 管道是一种简单的函数,它们接受输入并返回转换后的。...安全导航运算符 在视图中使用的属性为 null or undefined 时,javascript angular 会引发空指针异常并中断视图的渲染过程, 从而视图会渲染失败,而使用了安全导航运算符...4.4、组件之间的通信 4.4.1、输入属性与输出属性 输入属性(@Input)输出属性(@Output)用来在父子组件或指令中进行共享数据。

15.8K30

Angular学习笔记(一)

组件 组件负责控制视图,通过一些由属性方法组成的 API 与视图交互。 模板 模板以 HTML 形式存在,告诉 Angular 如何渲染组件。 元数据 元数据告诉 Angular 如何处理一个类。...服务 服务是一个广义范畴,包括:、函数,或应用所需的特性。 依赖注入 大多数依赖都是服务。 Angular 使用依赖注入来提供新组件以及组件所需的服务。 2....生命周期 ngOnChanges() 当 Angular 重新设置数据绑定输入属性时响应。该方法接受当前上一属性的 SimpleChanges 对象。...当被绑定输入属性的发生变化时调用,首次调用一定会发生在 ngOnInit() 之前。...ngOnInit() 在 Angular 第一次显示数据绑定设置指令/组件的输入属性之后,初始化指令/组件。 在第一轮 ngOnChanges() 完成之后调用,只调用一次。

3.3K20

Angular 显示英雄列表

你可以定义属于特定组件的私有样式,并且让组件所需的一切(代码、HTML CSS)都放在一起。 这种方式让你在其它地方复用该组件更加容易,并且即使全局样式这里不一样,组件也仍然具有期望的外观。...添加 click 事件绑定 再往  元素上插入一句点击事件的绑定代码: heroes.component.html <li *ngFor="let hero of heroes" (click)...并且为这个 div 添加 Angular 的 *ngIf 指令,把它的设置为 selectedHero。 不要忘了 ngIf 前面的星号(*),它是该语法中的关键部分。...因此也就不用担心 selectedHero 的绑定了。 当用户选择一个英雄时,selectedHero 也就有了,并且 ngIf 把英雄的详情放回到 DOM 中。...你使用 *ngFor 显示了一个列表。 你使用 *ngIf 来根据条件包含或排除了一段 HTML。 你可以用 class 绑定来切换 CSS 的样式类。

4.4K70

最受欢迎的10大Angular技巧

在前端,我们习惯使用很多在任何作用域内都可用的全局对象。我们使用诸如 window、document、fetch 方法 location 等对象。我们希望能一直见到它们。...s=20 控件为 ReplaySubject 在某些情况下,你需要订阅控件 valueChanges 并获取其当前。不要重新发明轮子,只需这样做即可: ?...s=20 扩展 Observable 或 Subject 你知道如何分辨使用高 DPI 屏幕的用户吗? 你可以这样做检查,并用原生媒体标签使你的应用更适合高 DPI 屏幕: ?...s=20 Banana in a box 它有很多名字:banana in a box、双向绑定输入 - 输出,并且使用起来很方便,比如 ngModel 配合就很好用。...s=20 RxJS 是一个未开发的世界 使用 RxJS 时,我尝试检查 RxJS 运算符的所有参数重载,原因是有许多隐藏的选项可以使你更快地编写更强大的流。

2.1K40
领券