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 相关文章推荐
基于jquery的滚动新闻列表
Jun 19 Javascript
js中对象的声明方式以及数组的一些用法示例
Dec 11 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
Oct 22 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
Aug 26 Javascript
jQuery Validate插件实现表单强大的验证功能
Dec 18 Javascript
高性能JavaScript循环语句和条件语句
Jan 20 Javascript
Bootstrap table右键功能实现方法
Feb 20 Javascript
BootStrap 表单控件之单选按钮水平排列
May 23 Javascript
JS判断时间段的实现代码
Jun 14 Javascript
vue单页缓存存在的问题及解决方案(小结)
Sep 25 Javascript
AngularJS 监听变量变化的实现方法
Oct 09 Javascript
javascript实现随机抽奖功能
Dec 30 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
php中{}大括号是什么意思
2013/12/01 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
PHP获取数组中单列值的方法
2017/06/10 PHP
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
2014/10/10 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
jQuery增加与删除table列的方法
2016/03/01 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
Three.js利用性能插件stats实现性能监听的方法
2017/09/25 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
jQuery pjax 应用简单示例
2018/09/20 jQuery
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
详解Vue 全局变量,局部变量
2019/04/17 Javascript
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
vue中是怎样监听数组变化的
2020/10/24 Javascript
python正则分组的应用
2013/11/10 Python
python实现bitmap数据结构详解
2014/02/17 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
python 把列表转化为字符串的方法
2018/10/23 Python
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
物业管理大学生个人的自我评价
2013/10/10 职场文书
优秀教师先进事迹
2014/01/22 职场文书
八项规定整改措施
2014/02/12 职场文书
计算机专业毕业生自荐信范文
2014/03/06 职场文书
财务总监管理岗位职责
2014/03/08 职场文书
班班通校本培训方案
2014/03/12 职场文书
预备党员转正材料
2014/12/19 职场文书
出纳2015年度工作总结范文
2015/10/14 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
vue+elementUI实现表格列的显示与隐藏
2022/04/13 Vue.js
VUE递归树形实现多级列表
2022/07/15 Vue.js