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 相关文章推荐
js获取指定的cookie的具体实现
Feb 20 Javascript
AngularJS优雅的自定义指令
Jul 01 Javascript
ES6新特性七:数组的扩充详解
Apr 21 Javascript
jQuery中过滤器的基本用法示例
Oct 11 jQuery
浅谈js的解析顺序 作用域 严格模式
Oct 23 Javascript
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
Dec 28 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
Mar 01 Javascript
Angular中sweetalert弹框的基本使用教程
Jul 22 Javascript
深入了解query和params的使用区别
Jun 24 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
Jul 22 Javascript
swiper4实现移动端导航栏tab滑动切换
Oct 16 Javascript
微信小程序弹窗禁止页面滚动的实现代码
Dec 30 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
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
PHP下的Oracle客户端扩展(OCI8)安装教程
2014/09/10 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
php中mkdir函数用法实例分析
2014/11/15 PHP
Codeigniter的一些优秀特性总结
2015/01/21 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
Linux下编译redis和phpredis的方法
2016/04/07 PHP
PHP simplexml_import_dom()函数讲解
2019/02/03 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
range 标准化之获取
2011/08/28 Javascript
Jquery跳到页面指定位置的方法
2014/05/12 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
AngularJS入门教程之过滤器详解
2016/08/19 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
js仿QQ邮箱收件人选择与搜索功能
2017/02/10 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
2018/09/19 Javascript
Vue动态加载异步组件的方法
2018/11/21 Javascript
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
Django实现自定义404,500页面教程
2017/03/26 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
2019/05/23 Python
Python3远程监控程序的实现方法
2019/07/15 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
Python生成器generator原理及用法解析
2020/07/20 Python
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
如何利用cmp命令比较文件
2013/09/23 面试题
Python使用openpyxl复制整张sheet
2021/03/24 Python
专科文秘应届生求职信
2013/11/18 职场文书
会计专业自我鉴定范文
2013/12/29 职场文书
趣味体育活动方案
2014/02/08 职场文书
2014年有孩子的离婚协议书范本
2014/10/08 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
幽默口才训练经典句子(48句)
2019/08/19 职场文书
Python实现的扫码工具居然这么好用!
2021/06/07 Python