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 版本自动生成文章摘要
Jul 23 Javascript
javascript 限制输入脚本大全
Nov 03 Javascript
用jQuery中的ajax分页实现代码
Sep 20 Javascript
JavaScript中的作用域链和闭包
Jun 30 Javascript
理解JAVASCRIPT中hasOwnProperty()的作用
Jun 05 Javascript
js中Math之random,round,ceil,floor的用法总结
Dec 26 Javascript
js创建对象的方式总结
Jan 10 Javascript
微信小程序 flex实现导航实例详解
Apr 26 Javascript
实现两个文本框同时输入的实例
Sep 25 Javascript
vue 路由嵌套高亮问题的解决方法
May 17 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
May 22 Javascript
百度小程序自定义通用toast组件
Jul 17 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
第十一节--重载
2006/11/16 PHP
php获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
PHP批量采集下载美女图片的实现代码
2013/06/03 PHP
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
JS填写银行卡号每隔4位数字加一个空格
2016/12/19 Javascript
详解jQuery中ajax.load()方法
2017/01/25 Javascript
Vuex和前端缓存的整合策略详解
2017/05/09 Javascript
详解如何在vue中使用sass
2017/06/21 Javascript
一文让你彻底搞清楚javascript中的require、import与export
2017/09/24 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
原生js实现可兼容PC和移动端的拖动滑块功能详解【测试可用】
2019/08/15 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
2020/06/11 Javascript
Vue 使用typescript如何优雅的调用swagger API
2020/09/01 Javascript
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
为Python程序添加图形化界面的教程
2015/04/29 Python
在Python的web框架中中编写日志列表的教程
2015/04/30 Python
Python实现复杂对象转JSON的方法示例
2017/06/22 Python
Python 中的Selenium异常处理实例代码
2018/05/03 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
django使用channels实现通信的示例
2020/10/19 Python
CSS3属性选择符介绍
2008/10/17 HTML / CSS
Css3+Js制作漂亮时钟(附源码)
2013/04/24 HTML / CSS
请描述一下”is a”关系和”has a”关系
2015/02/03 面试题
证券期货行业个人的自我评价
2013/12/26 职场文书
大学中国梦演讲稿
2014/04/23 职场文书
奥运会口号
2014/06/13 职场文书
单位委托书怎么写
2014/08/02 职场文书
2014最新实习证明模板
2014/10/02 职场文书
党员查摆问题及整改措施
2014/10/10 职场文书
2015年审计人员工作总结
2015/05/26 职场文书
安全教育培训心得体会
2016/01/15 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书