资讯专栏INFORMATION COLUMN

Angular4学习笔记之DOM属性绑定

Genng / 431人阅读

摘要:如果没有,请查看学习笔记之安装和使用教程事件绑定准备工作了解目的在模版的界面上面增加一个按钮,然后通过小括号绑定一个事件。

简介

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


{{productTitle}}

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

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

注意

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

事件绑定

准备工作

了解目的:在模版的界面上面增加一个按钮,然后通过小括号绑定一个事件。
新建一个 bind 组件,使用命令:  ng g c bind

修改 bind.component.html


修改 bind.component.ts

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

修改 app.component.html


图示:

Dom属性绑定 例子一

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

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

修改 bind.component.html








修改 bind.component.ts

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

图示:

例子二

dom 属性 与 html 属性的区别

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

修改 bind.component.html


修改 bind.component.ts

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

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

}

图示:

总结:
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

bind works!

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"));
  }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/90595.html

相关文章

  • Angular4学习笔记——数据绑定

    摘要:所以,在的世界中,唯一的作用是用来初始化元素和指令的状态。当进行数据绑定时,只是在与元素和指令的和事件打交道,而就基本上靠边站了,只有比较特殊的情况才会用到他。事件绑定事件名事件绑定分为对原生事件绑定和自定义事件绑定。 数据绑定总体而言有三种类型: {{...}} 插值表达式绑定 属性绑定(包括property和attitude 事件绑定 插值表达式绑定 既可以写在html结构中,...

    MRZYD 评论0 收藏0
  • Angular4学习笔记HTML属性绑定

    摘要:第二种情况控制样式如果的值为那么样式就是,否则就是写在最后对于的属性绑定和的属性绑定是一样一样的。对于文章中所用的代码是结合了学习笔记之数据绑定上面的例子做的,链接地址 简介 基本HTML属性 Css 类绑定 CSS 类绑定,[class] 全部替换的例子 CSS 类绑定,[class.sepcial] 部分替换的例子 CSS 类绑定,[ngClass] 替换多个的...

    wawor4827 评论0 收藏0
  • Angular4学习笔记——生命周期钩子

    摘要:所以如果需要使用生命周期,只要在我们的代码中写上钩子函数即可,会找到并调用像这样的钩子方法,有没有接口无所谓。当使用构造函数新建一个组件或指令后,就会按下面的顺序在特定时刻调用这些生命周期钩子方法用处当设置数据绑定输入属性发生变化时响应。 接口和钩子 在介绍生命周期的相关概念之前,可以先复习一下TypeScript对于接口的概念。 在这里主要使用的是类接口及其实现: interf...

    fizz 评论0 收藏0
  • Angular4学习笔记——组件间的交互

    摘要:具体思路子组件暴露一个属性,当事件发生时,子组件利用该属性向上弹射事件。父组件绑定到这个事件属性,并在事件发生时作出回应。这个组件子树之外的组件将无法访问该服务或者与它们通讯。父子组件通过各自的构造函数注入该服务。 通过输入型绑定把数据从父组件传到子组件 Angular对于父组件 => 子组件的数据通信做法和Vue很相似。 // 父组件html模板 // 子组件接收数据 i...

    Guakin_Huang 评论0 收藏0
  • 前端框架这么多,该如何抉择?

    摘要:在引起状态变化的时刻,框架自动触发脏检查,也可以手动执行脏检查,直接操作更新视图。最后,说了这么多,大家在具体选型时还是要首先分析自己的需求和现状,然后再做选择。 作为一个软件开发者,最大的挑战就是在不断涌现的新技术中进行取舍,持续学习是从事这一行业的必备技能。在这个领域里,技术更新最快地又非前端莫属了。各种框架的出现、版本的更新此起彼伏,呈现出一派欣欣向荣之景。 在项目中必不可少的便...

    Jackwoo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<