双向绑定原理

双向绑定将属性绑定事件绑定结合在一起。
Angular 的双向绑定语法是方括号和圆括号的组合 [()]
[] 进行属性绑定,() 进行事件绑定。
名称规则为 [输入名] + Change

  • 属性绑定(@Input-输入) - 设置特定的元素属性。

  • 事件绑定(@Output-输出) - 侦听元素更改事件。

所以表单双向绑定中有 ngModelngModelChange,也可以自定义双向绑定属性。

ngModel

与表单元素进行双向绑定

import { Component, OnInit } from '@angular/core';@Component({selector: 'app-bind',template: `<div><div>Name: {{ name }}</div><input type="text" style="width: 300px;" nz-input name="name" [(ngModel)]="name" autocomplete="off"></div>`
})
export class BindComponent implements OnInit {name = '';constructor() { }ngOnInit(): void { }
}

效果图

自定义双向绑定属性

组件-html

<div><div>inner: {{ value }}</div><input style="width: 300px;" nz-input (input)="onInput(input.value)" #input autocomplete="off">
</div>

组件-ts

import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';@Component({selector: 'app-inner',templateUrl: './inner.component.html',styleUrls: ['./inner.component.scss']
})
export class InnerComponent implements OnInit {// 设定输入属性@Input() value!: string;// 设定输出事件@Output() valueChange: EventEmitter<string> = new EventEmitter();constructor() { }ngOnInit(): void { }onInput(value: string){// 触发输出事件-输出数据this.valueChange.emit(value);}
}

外部使用

import { Component, OnInit } from '@angular/core';@Component({selector: 'app-outer',template: `<div><div>Name: {{ name }}</div><app-inner [(value)]="name"></app-inner></div>`
})
export class OuterComponent implements OnInit {name = '';constructor() { }ngOnInit(): void { }
}

效果图

angular双向绑定理解相关推荐

  1. Vue Angular 双向绑定检测不到对象属性的添加和删除

    由于ES5的限制 Vue  && Angular 双向绑定检测不到对象属性的添加和删除  还有数组增加索引.这些改变不会触发change事件.Vue是因为实例化的时候已经把各个属性都s ...

  2. 数据双向绑定_手写 Vue3 数据双向绑定 理解Proxy

    前言 vue3的 Proxy 最近貌似各大网红公众号都有发,我也来蹭蹭热度写一篇吧!我们也可以结合vue2来看看vue3到底发生了些什么变化,又解决了Vue2.x的哪些痛点.接下来我们一起看看~ 目录 ...

  3. Angular 双向绑定

    Angular10教程--2.3 双向绑定 双向绑定大致可以分成两种类型: 一.普通组件的双向绑定 二.表单中的双向绑定[(ngModel)] 单独使用表单元素 在标签中使用 总结: 前面我们了解了属 ...

  4. angular 双向绑定和事件绑定实现 输入框内容输出

    双向绑定(即属性和事件) 格式 [(ngModule)]=" " html文件内容 <h1> <a>双向绑定:</a><input [(n ...

  5. 使用ngNonBindable在Angular双向绑定数据的时候显示“{{参数}}“中的花括弧、花括号“{{}}”

    <p ngNonBindable>使用ngNonBindable停止框架渲染计算"{{}}"</p> <p >计算1+1= {{ 1 + 1 } ...

  6. 记一次对vue双向绑定的理解

    之前有看过一次vue双向绑定原理实现相关的博客,看得似懂非懂的,然后也就搁浅了. 昨天脑海里又突然燃起了要不这块搞懂的冲动,于是乎又开始了一轮博客轰炸,综合研究了多位大神写得关于vue双向绑定的实现原 ...

  7. Angular数据双向绑定

    本文转载自: http://www.cnblogs.com/jingwhale/p/5117419.html 作者:jingwhale 转载请注明该声明. Angular数据双向绑定 AngularJ ...

  8. angular的双向绑定原理

    http://sentsin.com/web/779.html AngularJS是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心的是:MVVM ...

  9. 双向绑定 当obj的值修改时_JavaScript进阶之深入理解数据双向绑定

    前言 谈起当前前端最热门的 js 框架,必少不了 Vue.React.Angular,对于大多数人来说,我们更多的是在使用框架,对于框架解决痛点背后使用的基本原理往往关注不多,近期在研读 Vue.js ...

最新文章

  1. AttributeError: ‘tuple‘ object has no attribute ‘group‘
  2. make menuconfig 错误
  3. Python入门100题 | 第063题
  4. HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别(转)
  5. php连接mysql并操作系统_PHP 连接并操作MySQL的一个实例
  6. 查看数值类型python_python怎么看数据类型
  7. python 可视化_Python可视化二维高斯分布
  8. 安装 samba 记录
  9. 【珍藏版】长文详解python正则表达式
  10. 小米动态图标+android实现,创新设计动态图标
  11. c语言编程a4988驱动步进电机,A4988驱动NEMA步进电机(42步进电机)
  12. ARMv8-A架构基础之A64指令
  13. 傲梅备份服务器系统,傲梅轻松备份迁移系统
  14. 【HBUOJ】暴躁的阿生
  15. %3c %3e是什么编程语言,第1章 网站数据分析与网站统计工具基础.ppt
  16. 89c52汇编语言实现跑马灯,汇编语言实现24个跑马灯制作
  17. python 矩阵元素查找位置函数_Python中二维数组中非零元素位置的快速查找方法...
  18. java集合(附源码分析)
  19. 最简单的24点游戏c语言,C语言解24点游戏程序
  20. Hive 多列转行 (if函数)

热门文章

  1. 电脑风扇声音大怎么办?五个好用的方法【完整教程】
  2. Mac Intellij Idea 代码自动提示快捷键
  3. windows 如何批量删除文件夹命令
  4. HTML中在table的td属性中嵌套table,为什么table居中?
  5. 计算机这两年哪个专业好点,计算机类专业有哪些 哪个专业比较好
  6. Phabricator 邮箱配置163邮箱
  7. 用多线程实现卖火车票
  8. ArrayBuffer转json
  9. python 火车票抢票
  10. mitmproxy:8080端口被占用