Angular 2.0+ 的数据绑定的实现示例


Posted in Javascript onAugust 09, 2017

这两天学习了Angular感觉 数据绑定这个地方知识点挺多的,而且很重要,所以,今天添加一点小笔记。

前言

我们使用如下的组件代码进行本文的所有演示

export class AppComponent {
 angularLogo = 'https://angular.io/assets/images/logos/angular/angular.svg';
 userName="David";
 newItem() {
  console.log("Hello world!");
 }
}

组件到DOM - Component to DOM

属性绑定,单向数据绑定。可以有下面三种不同的书写方式。

![]({{ angularLogo }})
 <img [src]="angularLogo">
 ![](angularLogo)
  1. 使用字符串插值方式。 {{ 变量名 }}
  2. 使用方挎号 [] ,方挎号内包含属性名。
  3. 在属性名前添加bind- 也可以达到同样的效果。

DOM到组件 - DOM to Component

事件绑定,当发生特定的DOM事件(例如:click,change,keyup)时,调用组件中指定方法。在下面的示例中,单击按钮时调用该组件的newItem()方法:

<button (click)="newItem()"></button>

双向数据绑定

使用[(ngModel)]="变量名"方式,可以实现双向数据绑定。

<input type="text" [(ngModel)]="userName">
<h1>Hello {{userName}}!</h1>

从Angular 2.x版开始,Angular中的数据绑定真的只是归结为属性绑定和事件绑定。 双向数据绑定是不存在的东西。 如果没有ngModel指令,我们如何实现双向数据绑定?如下所示:

<input [value]="username" (input)="username = $event.target.value">
<p>Hello {{username}}!</p>

我们来看看这里面发生了什么?

  1. [value]=”username” - 绑定变量username input元素的value属性。
  2. (input)=”username = $event.target.value” - 绑定input元素的input事件到js代码username = $event.target.value
  3. $event - 在Angular的事件绑定中暴露的表达式,它的值为事件的载体。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery 绑定时间实现代码
May 03 Javascript
基于jquery的一个拖拽到指定区域内的效果
Sep 21 Javascript
javascript中setTimeout的问题解决方法
May 08 Javascript
纯JS实现旋转图片3D展示效果
Apr 12 Javascript
JavaScript实现添加及删除事件的方法小结
Aug 04 Javascript
js仿3366小游戏选字游戏
Apr 14 Javascript
jQuery图片加载显示loading效果
Nov 04 Javascript
BootStrap中Table隐藏后显示问题的实现代码
Aug 31 Javascript
Jquery的autocomplete插件用法及参数讲解
Mar 12 jQuery
浅谈JavaScript中等号、双等号、 三等号的区别
Aug 06 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
Jan 22 Vue.js
vue脚手架项目创建步骤详解
Mar 02 Vue.js
Ionic3实现图片瀑布流布局
Aug 09 #Javascript
JavaScript闭包和回调详解
Aug 09 #Javascript
ionic 3.0+ 项目搭建运行环境的教程
Aug 09 #Javascript
JavaScript实现的浏览器下载文件的方法
Aug 09 #Javascript
Node.js五大应用性能技巧小结(必须收藏)
Aug 09 #Javascript
详解用node搭建简单的静态资源管理器
Aug 09 #Javascript
vue页面使用阿里oss上传功能的实例(二)
Aug 09 #Javascript
You might like
如何正确理解PHP的错误信息
2006/10/09 PHP
PHP中判断变量为空的几种方法分享
2013/08/26 PHP
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
AngularJS基础 ng-model 指令详解及示例代码
2016/08/02 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
JavaScript中的ajax功能的概念和示例详解
2016/10/17 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
JavaScript易错知识点整理
2016/12/05 Javascript
React-native桥接Android原生开发详解
2018/01/17 Javascript
JQuery扩展对象方法操作示例
2018/08/21 jQuery
推荐一个基于Node.js的表单验证库
2019/02/15 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
python记录程序运行时间的三种方法
2017/07/14 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
安装并免费使用Pycharm专业版(学生/教师)
2020/09/24 Python
基于DOM+CSS3实现OrgChart组织结构图插件
2016/03/02 HTML / CSS
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
公益活动策划方案
2014/01/09 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
班级文化建设标语
2014/06/23 职场文书
酒店管理失职检讨书
2014/09/16 职场文书
2015年幼儿教育工作总结
2015/07/24 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书
pytorch 使用半精度模型部署的操作
2021/05/24 Python
一些让Python代码简洁的实用技巧总结
2021/08/23 Python
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis
Golang 实现 WebSockets 之创建 WebSockets
2022/04/24 Golang