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 相关文章推荐
JavaScript CSS菜单功能 改进版
Dec 20 Javascript
Express的路由详解
Dec 10 Javascript
JavaScript的Backbone.js框架入门学习指引
May 07 Javascript
原生JS下拉加载插件分享
Dec 26 Javascript
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
Jan 08 Javascript
vue-lazyload图片延迟加载插件的实例讲解
Feb 09 Javascript
jQuery实现定时隐藏对话框的方法分析
Feb 12 jQuery
jQuery实现的3D版图片轮播示例【滑动轮播】
Jan 18 jQuery
ES6 更易于继承的类语法的使用
Feb 11 Javascript
基于openlayers实现角度测量功能
Sep 28 Javascript
使用Vant完成Dialog弹框案例
Nov 11 Javascript
JS轻量级函数式编程实现XDM三
Jun 16 Javascript
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
截获网站title标签之家内容的例子
2006/10/09 PHP
php xml留言板 xml存储数据的简单例子
2009/08/24 PHP
php XPath对XML文件查找及修改实现代码
2011/07/27 PHP
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
2013/06/05 PHP
详解Yii实现分页的两种方法
2017/01/14 PHP
php模式设计之观察者模式应用实例分析
2019/09/25 PHP
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
jquery模拟按下回车实现代码
2011/09/20 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
javascript模块化简单解析
2016/04/07 Javascript
js阻止浏览器默认行为触发的通用方法(推荐)
2016/05/15 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
JQuery实现列表中复选框全选反选功能封装(推荐)
2016/11/24 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
2019/07/19 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
javascript设计模式 ? 建造者模式原理与应用实例分析
2020/04/10 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
[00:33]2016完美“圣”典风云人物:Sccc宣传片
2016/12/03 DOTA
Python爬取读者并制作成PDF
2015/03/10 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
理解生产者消费者模型及在Python编程中的运用实例
2016/06/26 Python
让python 3支持mysqldb的解决方法
2017/02/14 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
Python Flask 搭建微信小程序后台详解
2019/05/06 Python
Python实现进度条和时间预估的示例代码
2020/06/02 Python
法国太阳镜店:Sunglasses Shop
2016/08/27 全球购物
String和StringBuffer的区别
2015/08/13 面试题
公司离职证明范本(汇总)
2014/09/10 职场文书
2014年助理工程师工作总结
2014/11/14 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
在K8s上部署Redis集群的方法步骤
2021/04/27 Redis