Angular表单实现双向数据绑定

2023-10-27

创建组件过程省略!

实现双向数据绑定,要在app.module中引入并声明

 表单组件内容

import { Component } from '@angular/core';

@Component({
  selector: 'app-form',
  templateUrl: './form.component.html',
  styleUrls: ['./form.component.sass'],
})
export class FormComponent {
  public peopleInfo: any = {
    username: '',
    sex: '1',
    cityList: ['杭州', '上海', '广州'],
    city: '上海',
    hobby: [
      {
        title: '吃饭',
        isCheck: true, // 用于判定复选框是否选中
      },
      {
        title: '睡觉',
        isCheck: false,
      },
      {
        title: '敲代码',
        isCheck: false,
      },
    ],

    mark: '',
  };
}

组件内容

<div>
  <form>
    姓 名:<input
      type="text"
      name="username"
      [(ngModel)]="peopleInfo.username"
    /><br />
    性 别:<input
      type="radio"
      value="1"
      name="sex"
      id="sex1"
      [(ngModel)]="peopleInfo.sex"
    />
    <label for="sex1">男 </label>   
    <input
      type="radio"
      value="2"
      name="sex"
      id="sex2"
      [(ngModel)]="peopleInfo.sex"
    />
    <label for="sex2">女 </label><br />
    城 市:<select name="city" id="city" [(ngModel)]="peopleInfo.city">
      <option [value]="item" *ngFor="let item of peopleInfo.cityList">
        {{ item }}
      </option>
    </select>
    <br />
    爱 好:
    <!--如果在表单标签中使用 ngModel,则必须设置 name 属性或表单控件必须在 ngModelOptions 中定义为“独立”。-->
    <span *ngFor="let item of peopleInfo.hobby; let key = index">
      <input
        type="checkbox"
        [id]="'check' + key"
        [(ngModel)]="item.isCheck"
        [ngModelOptions]="{ standalone: true }"
      />
      <label [for]="'check' + key"> {{ item.title }}</label>
      &nbsp;
    </span>
    <br />
    备 注:
    <textarea
      name="mark"
      cols="30"
      rows="10"
      [(ngModel)]="peopleInfo.mark"
    ></textarea>
  </form>
</div>
<br /><br />
<pre>
  {{ peopleInfo | json }}
</pre>

页面结果:

Reference

MVVM采用双向数据绑定,view中数据变化将自动反映到viewmodel上。反之,model中数据变化也将会自动展示在页面上。把Model和View关联起来的就是ViewModel。ViewModel负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model。MVVM核心思想,是关注model的变化,让MVVM框架利用自己的机制自动更新DOM,也就是所谓的数据-视图分离,数据不会影响视图。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular表单实现双向数据绑定 的相关文章

  • Angular.js:如何从无序列表中获取 orderBy 或过滤器来工作?

    尝试根据价格和评级 在返回的对象中 进行排序 我宁愿用 ng click 和 li 来代替使用选择菜单 有没有办法做到这一点 我环顾四周 这是我能想到的最接近的 ul class restaurant filter li i class i
  • 使用 Node.js 构建网站的最佳实践

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我想知道如何使用 Node js 从头开始 开发一个网站 我明白我怎么能possibly
  • 想要动态处理与分页相关的页码显示:ReactJS

    我有一些分页逻辑工作得很好 唯一的问题是我只能让它显示并固定数量的页面可供选择 现在我已经把它放到了 5 页 但我希望它能够根据总记录动态更改 假设我有 100 条记录 每页限制为 10 条 将有 10 页 现在我只能让它以这种方式显示 第
  • 本地推送通知到在应用程序内运行 JS 代码的 Win8 Live Tile

    我正在尝试将更新发送到我的应用程序的磁贴 当应用程序运行时 这可以正常工作 例如 当用户单击按钮时 我可以轻松地将磁贴更新通知发送到磁贴 我无法解决的是当应用程序无法运行时如何更新磁贴 我找到的唯一选择是使用以下命令从远程 Web 服务器拉
  • 通过扩展和实现的组合来理解 TS 的类型推断/缩小

    我有以下示例代码 class B implements Error name string message string stack undefined string function Foo x any if x instanceof E
  • React autoFocus 将光标设置为输入值的开头

    我有一个受控输入 最初显示一个值 我已将该输入设置为自动聚焦 但当我希望它出现在末尾时 光标出现在输入的开头 我知道这可能是因为自动对焦是在值之前添加的 但我不能 100 确定 在输入字段末尾完成光标初始化的最佳方法是什么 var Test
  • onclick 事件中未调用函数

    我想在每个 YouTube 链接的末尾添加一些 HTML 以在 litebox 中打开播放器 到目前为止 这是我的代码 document ready function var valid url new RegExp youtube com
  • 如何在另一个自定义 Hook 中使用返回值的自定义 Hook?

    我正在使用 React native 其中有一个名为的自定义 HookuseUser使用以下方法从 AWS Amplify 获取用户信息Auth getUserInfro方法 然后获取返回对象的一部分并用它设置一个状态变量 我还有另一个名为
  • 使用 JavaScript 移动页面上的按钮

    我的按钮可以移动 但奇怪的是 我无法弄清楚偏移是否有问题 我希望我的按钮随着鼠标光标移动 但现在它的移动方式不是我想要的 有时它会消失 另外 创建的新按钮是重叠的 我不知道如何解决这个问题并拥有更好的外观 var coorA var coo
  • 如何计算特定字符在字符串中出现的次数

    我正在尝试创建一个函数来查看数组中的任何字符是否在字符串中 如果是 有多少个 我尝试计算每一种模式 但是太多了 我尝试使用 Python 中的 in 运算符的替代方案 但效果不佳 function calc fit element var
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • 用于选择特定 div 中具有特定类的锚元素的 jQuery 选择器是什么

    我有一些这样的代码 我想选择每个 a 带有类的标签status在 div 中foo div a class status a div 你可以这样做 foo find status a
  • Google Maps API (v3) 添加/更新标记

    编辑 它现在可以工作 但如果用户不允许或没有基于位置的服务 则不会加载 请参阅 jsfiddle 示例接受的答案评论 我已经浏览了一些教程和问题 但我无法安静地理解正在发生的事情 或者在这种情况下 没有发生 当用户单击链接时 我正在加载地图
  • 订阅内循环订阅?

    我目前正在与订阅内的 multiples forEach 订阅作斗争 我正在尝试检索对象列表 然后通过它们的 ID 检索它们的图像 目前我已经这样做了 this appTypeService get pipe map apps AppTyp
  • Rails 3.1+ 的 Jasmine 与 Mocha JavaScript 测试 [已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我对茉莉花有经验并且非常喜欢它 有谁有 Jasmine 和 Mocha 的经验 特别是 Rails 的经验吗 我想知道是否值得转用 我已经在 J
  • 如何从 json 文件创建模型? (ExtJS)

    这是我想使用 json 文件创建的模型 Ext define Users extend Ext data Model fields name user id type int name user name type string 为了根据服
  • 使用打字稿的 Angular 6 的黄金布局?

    我在用黄金布局 https golden layout com 与 Angular 6 一起 如下本教程 https npm taobao org package embedded enterprises ng6 golden layout
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供
  • 使用velocity.js制作可拖动元素的动画

    我正在使用velocity js 为用户拖动的可拖动 SVG 元素设置动画 然而 velocity js 将先前的 mousemove 坐标排队并通过所有后续的 mousemove 坐标进行动画处理 我想要的是velocity js 不要对

随机推荐

  • Arduino基本知识

    1 程序结构 2 变量 局部变量和全局变量 3 调用Arduino的函数 4 通过点亮led IO设置为输出模式 学习pinMode 和digitalWrite 5 按键开关 IO设置为输入模式 6 初识赋值运算符和逻辑运算符 和布尔类型
  • uni-popup使用uni-grid显示错误问题

    在uni popup中 使用了uni grid 内部item显示错误 重叠 解决方式 为item设置style 比如我设置的列数是4 那么style中的width设置为25 item中的文字也需要设置宽度 否则文字方向不对 原因 暂时未知
  • c语言 教学目标,c语言选择结构程序设计教学目标

    c语言选择结构程序设计教学目标 选择结构程序设计 教学目标 能力要求 a 能够使用 if 语句编写条件选择程序 b 能够使用嵌套 if 语句和 switch 语句编写多分支选择结构程序 基础能力落实 1 判断一个数的正 负 输出相应信息 2
  • C++11 -- 类的新功能

    文章目录 类的新功能 默认成员函数 类成员变量初始化 强制生成默认函数的关键字default 禁止生成默认函数的关键字delete 继承和多态中的final和override关键字 类的新功能 默认成员函数 原来在C 类中 有6个默认成员函
  • 爬虫IP列表

    百度爬虫IP列表220 181 51 180 149 130 123 125 71 180 76 5 66google爬虫列表67 221 235 66 249 68 66 249 67 203 208 60 66 249 72 66 24
  • 目标检测中计算图像的交并比(IOU)

    交并比为目标检测中一个重要的概念 来进行预测框 ground truth 与标注框的重合率来对检测的正确率进行比较 图示如下 交并比计算公式 I O U C
  • 被攻击了使用高防服务器有用吗?业务放在高防服务器里面还会不会被攻击?

    高防服务器和无防服务器最大的区别就是在于防火墙 而且怎么样的防火墙可以防止攻击呢 防火墙是网络基础设施中用于网络安全的设备 是用于网络安全的第一道防线 高防防火墙是硬件组成 防火墙的作用是检查通过防火墙的数据包并根据预设的安全策略决定数据包
  • 云计算与大数据作业

    第一章 云计算 云计算的定义 维基百科 云计算是一种动态扩展的计算模式 通过计算机网络将虚拟化的资源作为服务提供给用户 什么是云计算 像水 电 煤 资源性产品 一样利用你的IT资源 计算机存储网络资源 关键词 按需使用 超大规模 高弹性 定
  • Pycharm社区版安装Django并完成Python入门到实践Django实验

    安装流程 首先 随便打开一个项目 然后在pycharm界面的左下角有Terminal终端的图标 点开 在命令行里进入想要的目录 我进的是cd C Users yasuo Desktop py 建立虚拟环境 在这个目录下输入python m
  • Intent见解

    今天做了一个很有意思的实验 三个程序的关系如图 1 先上3个代码 ActionAttr java文件 package org crazyit intent import android app Activity import android
  • 《深入剖析tomcat》读书笔记3--servlet容器

    主要是 深入剖析tomcat 的第五章和第十一章 个人觉得如下3点是关键 1 pipeline相关概念及其执行valve的顺序 2 standardwrapper的接受http请求时候的调用序列 3 standardwrapper基础阀加载
  • Redis 事务 - 监控测试

    Redis 基本事务操作 Redis事务本质 一组命令的集合 一个事务中的所有命令都会被序列化 在事务执行过程的中 会按照顺序执行 Redis事务是一组Redis命令的有序集合 这些命令在事务中按照顺序执行 但在事务执行过程中不会立即执行
  • Python之第十二章 处理Excel电子表格

    一 Excel文档 工作薄 xlsx文件 包含多个表 工作表 活动表 用户当前查看的表 关闭Excel前最后查看的表 二 安装openpyxl模块 import openpyxl 三 读取Excel表格 先制作一张例表1 xlsx 1 用o
  • Oracle数据库问题汇总

    Oracle自动维护任务 周日上午六点数据库报警 报ORA 1652错误 根据微信告警信息及告警时间点确认是Oracle自动维护任务启动 导致临时表空间不足 SQL Tuning Advisor这个自动任务很早就是要禁用掉的 本身数据库仅作
  • 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。

    示例 1 输入 nums 1 2 3 1 输出 true 示例 2 输入 nums 1 2 3 4 输出 false 示例 3 输入 nums 1 1 1 3 3 4 3 2 4 2 输出 true 实现代码 public class So
  • new String和String直接赋值的区别

    栈区存引用和基本类型 不能存对象 而堆区存对象 是比较地址 equals 比较对象内容 在hotspot虚拟机中 jdk1 8之后 String常量池是在堆中的 单纯的String str aaa 是从虚拟机栈中的变量直接指向String常
  • 单点登录CAS学习(一):初识单点登录

    一 单点登录应用场景 不少业主单位随着自身的发展 建立不少业务支撑系统 往往会采用不同的开发商进行系统开发和建设 因此必然形成如下一种局面 工作人员需要登录多个业务系统才能将自己的工作全部完成 给工作人员带来了额外的负担 因此单点登录变应运
  • CentOS 6.9下的iptables在本机用DNAT转发指定IP到内网IP无效的问题解决(127.0.0.1)...

    比如 iptables t nat A OUTPUT p tcp d 192 168 1 0 24 dport 2222 j DNAT to destination 127 0 0 1 2222或者iptables t nat A OUTP
  • [个人笔记] Windows配置NTP时间同步

    Windows 运维篇 第六章 Windows配置NTP时间同步 Windows 运维篇 系列文章回顾 Windows配置NTP时间同步 域控环境的NTP配置 工作组环境的NTP配置 Windows的CMD部分命令集 参考来源 系列文章回顾
  • Angular表单实现双向数据绑定

    创建组件过程省略 实现双向数据绑定 要在app module中引入并声明 表单组件内容 import Component from angular core Component selector app form templateUrl f