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 元素相对定位代码
Oct 15 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
Feb 26 Javascript
javascript 获取模态窗口的滚动位置代码
Aug 06 Javascript
JS字符串拼接在ie中都报错的解决方法
Mar 27 Javascript
jQuery中:lt选择器用法实例
Dec 29 Javascript
jquery单击事件和双击事件冲突解决方案
Mar 02 Javascript
浅析JavaScript中命名空间namespace模式
Jun 22 Javascript
用jquery快速解决IE输入框不能输入的问题
Oct 04 Javascript
vue双向绑定简要分析
Mar 23 Javascript
Vue修改mint-ui默认样式的方法
Feb 03 Javascript
详解auto-vue-file:一个自动创建vue组件的包
Apr 26 Javascript
如何用JavaScipt测网速
May 09 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
php实现文件下载代码分享
2014/08/19 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
nodejs实现发出蜂鸣声音(系统报警声)的方法
2017/01/18 NodeJs
详解vue父子模版嵌套案例
2017/03/04 Javascript
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
vue2 全局变量的设置方法
2018/03/09 Javascript
详解vue组件基础
2018/05/04 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
python通过pil模块将raw图片转换成png图片的方法
2015/03/16 Python
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
python中requests小技巧
2017/05/10 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
2017/11/08 Python
python实现三维拟合的方法
2018/12/29 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
2019/06/11 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
2014/05/07 HTML / CSS
iframe跨域的几种常用方法
2019/11/11 HTML / CSS
惠普墨西哥官方商店:HP墨西哥
2016/12/01 全球购物
巴西女装购物网站:Eclectic
2018/04/24 全球购物
全球独特生活方式产品和礼品购物网站:AHAlife
2018/09/18 全球购物
Intersport西班牙:在线体育商店
2019/11/06 全球购物
工程部主管岗位职责
2013/11/17 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android
实现一个简单得数据响应系统
2021/11/11 Javascript
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS