Angular2学习笔记之数据绑定的示例代码


Posted in Javascript onJanuary 03, 2018

简介

使用插值表达式将一个表达式的值显示在模版上

<img src="{{imgUrl}}" alt="">
<h1>{{productTitle}}</h1>

使用方括号将HTML标签的一个属性值绑定到一个表达式上

<img [src]="imgUrl" alt="">

使用小括号将组件控制器的一个方法绑定到模版上面的一个事件的处理器上

<button (click)="onClickButton($event)">按钮绑定事件</button>

注意

在开始下面的例子之前,请先确认已经新建了一个工程。如果没有,请查看:Angular2学习笔记之Angular CLI 安装和使用教程

事件绑定

Angular2学习笔记之数据绑定的示例代码

准备工作

了解目的:在模版的界面上面增加一个按钮,然后通过小括号绑定一个事件。

新建一个 bind 组件,使用命令:  ng g c bind

修改 bind.component.html

<!-- 界面增加代码 -->
<button (click)="onClickButton($event)">按钮绑定事件</button>

修改 bind.component.ts

//在 BindComponent 类方法中增加方法体
onClickButton(event: any){
 console.log(event);
}

修改 app.component.html

<!-- 增加 app-bind 组件 -->
<app-bind></app-bind>

图示:

Angular2学习笔记之数据绑定的示例代码

Dom属性绑定

例子一

插值表达式 与 属性绑定 之间的关系

两种方式都可以实现,angular 在实现的逻辑上面是: 在程序加载组件的时候,会先将 "插值表达式" 翻译为 "属性绑定"

修改 bind.component.html

<!-- 界面增加代码 -->

<!-- 属性绑定 -->
<img [src]="imgUrl" alt="">

<!-- 插值表达式绑定 -->
<img src="{{imgUrl}}" alt="">

修改 bind.component.ts

//增加变量
imgUrl: string = http://placehold.it/320x280;

图示:

Angular2学习笔记之数据绑定的示例代码

例子二

dom 属性 与 html 属性的区别

HTML元素的 DOM属性和 HTML 属性是有部分区别的,这点需要明确差异。

修改 bind.component.html

<!-- 增加代码 -->
<div>
 <input type="text" value="Tom" (input)="onInputEvent($event)">
</div>

修改 bind.component.ts

//增加 event事件
onInputEvent(event: any){
 //获取的是 dom 属性,即输入属性
 console.log(event.target.value);

 //获取的是 html 属性,也就是初始化的属性
 console.log(event.target.getAttribute("value"));

}

图示:

Angular2学习笔记之数据绑定的示例代码

总结:

1.少量的 HTML属性和 DOM属性之间有这 1 :1 的映射关系,如 :id
2.有些有 HTML属性,没有DOM 属性, 如:colspan
3.有些有 DOM属性,没有HTML 属性,如:textContent
4.就算名字一样,DOM属性和HTML属性获取的内容可能不一样
5.模版绑定是通过DOM属性绑定的,而不是通过HTML属性
6.HTML属性指定了初始值,DOM属性表示当前值;DOM属性的值可以改变,HTML的值不能改变

例子部分完整代码

bind.component.html

<p>
 bind works!
</p>

<button (click)="onClickButton($event)">按钮绑定事件</button>

<div>
 <!-- 属性绑定 -->
 <img [src]="imgUrl" alt="">

 <!-- 插值表达式绑定 -->
 <img src="{{imgUrl}}" alt="">
</div>

<div>
 <input type="text" value="Tom" (input)="onInputEvent($event)">
</div>

bind.component.ts

import { Component, OnInit } from '@angular/core';

@Component({
 selector: 'app-bind',
 templateUrl: './bind.component.html',
 styleUrls: ['./bind.component.css']
})
export class BindComponent implements OnInit {

 imgUrl: string = "http://placehold.it/320x280";

 constructor() { }

 ngOnInit() {
 }

 onClickButton(event: any){
  console.log(event);
 }

 onInputEvent(event: any){
  //获取的是 dom 属性,即输入属性
  console.log(event.target.value);

  //获取的是 html 属性,也就是初始化的属性
  console.log(event.target.getAttribute("value"));
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
May 23 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
Apr 12 Javascript
Javascript实现单例模式
Jan 24 Javascript
辨析JavaScript中的Undefined类型与null类型
May 26 Javascript
JavaScript数组迭代方法
Mar 03 Javascript
基于jQuery实现文字打印动态效果
Apr 21 jQuery
iframe高度自适应及隐藏滚动条的实例详解
Sep 29 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
Jan 23 Javascript
web前端页面生成exe可执行文件的方法
Feb 08 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
Sep 21 Javascript
小程序实现横向滑动日历效果
Oct 21 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
Sep 05 Javascript
vue、react等单页面项目应该这样子部署到服务器
Jan 03 #Javascript
AngularJS实现的2048小游戏功能【附源码下载】
Jan 03 #Javascript
浅谈node模块与npm包管理工具
Jan 03 #Javascript
JavaScript基于面向对象实现的猜拳游戏
Jan 03 #Javascript
JS实现的简单拖拽购物车功能示例【附源码下载】
Jan 03 #Javascript
基于js 各种排序方法和sort方法的区别(详解)
Jan 03 #Javascript
vue项目中用cdn优化的方法
Jan 03 #Javascript
You might like
动态生成gif格式的图像要注意?
2006/10/09 PHP
精美漂亮的php分页类代码
2013/04/02 PHP
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
基于Laravel 5.2 regex验证的正确写法
2019/09/29 PHP
php字符串函数 str类常见用法示例
2020/05/15 PHP
jquery连缀语法如何实现
2012/11/29 Javascript
js控制表单不能输入空格的小例子
2013/11/20 Javascript
css与javascript跨浏览器兼容性总结
2014/09/15 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
微信小程序实现添加手机联系人功能示例
2017/11/30 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
JavaScript 处理树数据结构的方法示例
2019/06/16 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
[08:29]DOTA2每周TOP10 精彩击杀集锦vol.7
2014/06/25 DOTA
[01:37]全新的一集《真视界》——TI7总决赛
2017/09/21 DOTA
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
python 对象和json互相转换方法
2018/03/22 Python
python3.6数独问题的解决
2019/01/21 Python
Python常用的json标准库
2019/02/19 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
python__name__原理及用法详解
2019/11/02 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
Python 实现网课实时监控自动签到、打卡功能
2020/03/12 Python
python集合的新增元素方法整理
2020/12/07 Python
玩具反斗城葡萄牙官方商城:Toys"R"Us葡萄牙
2016/10/21 全球购物
澳洲国民品牌乡村路折扣店:Country Road & Trenery Outlet
2018/04/19 全球购物
银行类自荐信
2014/02/04 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
办理信用卡收入证明范例
2014/09/13 职场文书
标准发言稿结尾
2019/07/18 职场文书
八年级作文之感恩
2019/11/22 职场文书