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维吉尼亚密码算法实现代码
Nov 09 Javascript
登陆成功后自动计算秒数执行跳转
Jan 23 Javascript
jQuery中的ready函数与window.onload谁先执行
Jun 21 Javascript
Vue2实现组件props双向绑定
Dec 02 Javascript
超全面的JavaScript开发规范(推荐)
Jan 21 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
Sep 13 Javascript
利用JS测试目标网站的打开响应速度
Dec 01 Javascript
Vue中使用vee-validate表单验证的方法
May 09 Javascript
vue中引用swiper轮播插件的教程详解
Aug 16 Javascript
微信小程序实现tab左右切换效果
Nov 15 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
Nov 20 Vue.js
如何用JavaScript学习算法复杂度
Apr 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
Composer设置忽略版本匹配的方法
2016/04/27 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
实例分析基于PHP微信网页获取用户信息
2017/11/24 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
JQuery中使文本框获得焦点的方法实例分析
2015/02/28 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
jQuery动态添加
2016/04/07 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
在windows上用nodejs搭建静态文件服务器的简单方法
2016/08/11 NodeJs
Zabbix添加Node.js监控的方法
2016/10/20 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
详解通过JSON数据使用VUE.JS
2017/05/26 Javascript
详解JS中的柯里化(currying)
2017/08/17 Javascript
vue-router 源码之实现一个简单的 vue-router
2018/07/02 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
JavaScript实现更换背景图片
2019/10/18 Javascript
使用Vue 自定义文件选择器组件的实例代码
2020/03/04 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
[34:41]夜魇凡尔赛茶话会 第二期02:你画我猜
2021/03/11 DOTA
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
Python通过队列来实现进程间通信的示例
2020/10/14 Python
Python的信号库Blinker用法详解
2020/12/31 Python
Mamas & Papas沙特阿拉伯:英国最受欢迎的婴儿品牌
2017/11/20 全球购物
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
新闻专业本科生的自我评价分享
2013/11/20 职场文书
计算机专业应届生求职信
2014/04/06 职场文书
酒店开业庆典策划方案
2014/05/28 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
总经理致辞
2015/07/29 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书