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 相关文章推荐
JavaScrip单线程引擎工作原理分析
Sep 04 Javascript
js每隔5分钟执行一次ajax请求的实现方法
Nov 27 Javascript
wap图片滚动特效无css3元素纯js脚本编写
Aug 22 Javascript
Jquery中扩展方法extend使用技巧
Aug 24 Javascript
javascript获取flash版本号的方法
Nov 20 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
May 06 Javascript
javascript+ajax实现产品页面加载信息
Jul 09 Javascript
深入探讨前端框架react
Dec 09 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
Mar 30 Javascript
vue-loader教程介绍
Jun 14 Javascript
js定时器实现倒计时效果
Nov 05 Javascript
vue 中固定导航栏的实例代码
Nov 01 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多个版本的分析解释
2011/07/21 PHP
UCenter 批量添加用户的php代码
2012/07/17 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
PHP实现链表的定义与反转功能示例
2018/06/09 PHP
javascript 按回车键相应按钮提交事件
2009/11/02 Javascript
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
2010/03/21 Javascript
JavaScript判断微信浏览器实例代码
2016/06/13 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
AngularJS 面试题集锦
2016/09/06 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
5种JavaScript脚本加载的方式
2017/01/16 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
用js简单提供增删改查接口
2019/05/12 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
vue实现图片上传预览功能
2019/12/23 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
python实现多线程采集的2个代码例子
2014/07/07 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
Python 用turtle实现用正方形画圆的例子
2019/11/21 Python
深入浅析python变量加逗号,的含义
2020/02/22 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
CSS教程:CSS3圆角属性
2009/04/02 HTML / CSS
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
《月迹》教学反思
2014/02/19 职场文书
十八届三中全会宣传方案
2014/02/21 职场文书
购房协议书范本
2014/04/11 职场文书
大学生社会实践评语
2014/04/25 职场文书
国贸专业求职信
2014/06/28 职场文书
社区班子个人对照检查材料思想汇报
2014/10/07 职场文书
幼儿园小班见习报告
2014/10/31 职场文书
担保书格式
2015/01/20 职场文书
2016社区平安家庭事迹材料
2016/02/26 职场文书
2019企业文化管理制度范本!
2019/08/06 职场文书
德劲DE1108畅想
2021/04/22 无线电
52条SQL语句教你性能优化
2021/05/25 MySQL