多谢大佬指正,原创转载连接。

属性绑定

  • 插值表达式:src="{{user.pic}}"
  • 使用: [ ] :[property]="变量"
  • 使用:bind-:bind-src="变量"

// src/app/app.component.ts

export class AppComponent { picUrl = './image/1.png'; picAlt = 'pic goode';pic = {url: './image/1.png',alt: 'pic goode'};isUnchanged: true;customTitle: 'custom title';
}

// src/app/app.component.html

// 使用 []
<img [src]="picUrl" [alt]="picAlt" />
<button [disabled]="isUnchanged">Disabled Button</button>
/****************** 特别提示 start *********************/
// 这样会报错
<tr><td colspan="{{1 + 1}}">Three-Four</td></tr>
// 正确写法
<tr><td [colSpan]="1 + 1">Three-Four</td></tr>
/****************** 特别提示 end **********************/
// 使用bind
<img bind-src="picUrl" bind-alt="picAlt" />
// 插值
<img src="{{ pic.url }}" alt="{{ pic.alt }}" />
// 绑定自定义属性
<span [attr.data-title]="customTitle">some words</span>
<span [attr.title]="customTitle">title</span>

class绑定

绑定单个class

//src/app/app.component.ts

export class AppComponent { theme = 'primary';isSuccess = true;
}

//src/app/app.component.html

<div class="btn" [class.btn-danger]="'吃吃吃吃饭'">danger</div>
<div class="btn" [class.btn-danger]="0">danger</div>
<div class="btn" [class.btn-danger]="undefined">danger</div>
<div class="btn" [class.btn-primary]="theme === 'primary'">Primary</div>
<div class="btn" [class.btn-secondary]="true">secondary</div>
<div class="btn" [class.btn-success]="isSuccess">success</div>

绑定多个class

// src/app/app.component.ts

export class AppComponent { btnCls = 'btn btn-primary'; // 字符串,空格分隔btnCls2 = ['btn', 'btn-success']; btnCls3 = {btn: true,'btn-info': true};
}

// src/app/app.component.html

<div class="btn" [class]="btnCls">btnCls</div>
<div class="btn" [class]="btnCls2">btnCls2</div>
<div class="btn" [class]="btnCls3">btnCls3</div>
<!-- 也可以用内置指令ngClass -->
<div class="btn" [ngClass]="btnCls">btnCls</div>
<div class="btn" [ngClass]="btnCls2">btnCls2</div>
<div class="btn" [ngClass]="btnCls3">btnCls3</div>

属性样式

样式优先级:

  • 某个类或样式绑定越具体,它的优先级就越高
  • 绑定总是优先于静态属性

单一样式绑定

// src/app/app.component.html

<p [style.color]="'pink'">some words</p>
<p [style.height]="'50px'" [style.border]="'1px solid'">属性值中带单位px</p>
<p [style.height.px]="50" [style.border]="'1px solid'">单位px不在属性值中</p>

多重样式绑定

// src/app/app.component.ts

export class AppComponent {style1 = 'width: 200px;height: 50px;text-align: center;border: 1px solid;';style2 = {width: '200px',height: '50px','text-align': 'center',border: '1px solid'};
}

// src/app/app.component.html

<p [style]="style1">style1</p>
<p [style]="style2">style2</p>

绑定事件

// src/app/app.component.ts

export class AppComponent { onClick() {console.log('onClick');};onClick2(event: MouseEvent) {console.log('onClick', event.target);};
}

// src/app/app.component.html

<!-- 不同于vue,这里需要用()来调用函数 -->
<div (click)="onClick()">btn</div>
<!-- 这里一定是$event,就是原生的事件对象-->
<div (click)="onClick2($event)">btn2</div>
<!-- 绑定方法的等号后面可以写任意js代码-->
<div ((click)="$event.preventDefault()">btn2</div>

Angular属性绑定,class绑定,事件绑定,属性样式绑定相关推荐

  1. 【Vue 快速入门系列】Vue数据实现本地存储、自定义事件绑定、全局事件总线、$nextTick的使用

    文章目录 一.本地存储 1.概念 2.接口 3.实际操作 二.自定义事件绑定 1.自定义事件使用过程 2.绑定自定义事件的语法 3.其他注意事项 三.全局事件总线 1.全局事件总线概念 2.全局事件总 ...

  2. angular条件渲染、列表渲染、属性绑定、样式绑定、事件绑定

    文章目录 属性绑定 样式绑定 绑定单一样式 绑定多个样式 用 NgStyle 设置内联样式 类绑定 绑定单个类样式 绑定到多个 CSS 类 用 NgClass 添加和删除类 条件渲染 列表渲染 *ng ...

  3. Vue Angular 双向绑定检测不到对象属性的添加和删除

    由于ES5的限制 Vue  && Angular 双向绑定检测不到对象属性的添加和删除  还有数组增加索引.这些改变不会触发change事件.Vue是因为实例化的时候已经把各个属性都s ...

  4. Python笔记_64_Vue_M-V-VM思想_显示数据_常用指令_操作属性_绑定事件_操作样式_条件渲染指令_列表渲染指令

    文章目录 Vue vue.js的M-V-VM思想 快速使用 显示数据 常用指令 操作属性 绑定事件 操作样式 条件渲染指令 列表渲染指令 Vue vue.js是目前前端web开发最流行的工具库,由尤雨 ...

  5. Vue.js-Day01-PM【事件绑定(事件传参、事件对象、传参+获取事件对象)、样式处理操作(模板、事件、属性绑定)、Tab切换(原生js实现、Vue.js实现)、js中的this详解关键字】

    Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 目   录 4.事件绑定 4.1.事件绑定(点击.双击.鼠标移动) 点击按钮-最简单的事件绑定(无参函数) 格式 点击按钮 ...

  6. [原创]java WEB学习笔记48:其他的Servlet 监听器:域对象中属性的变更的事件监听器 (3 个),感知 Session 绑定的事件监听器(2个)...

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  7. 08.vue.js实战笔记(计算属性、v-bind及class和style的绑定、内置指令、方法与事件)

    1.计算属性 所有的计算属性都以函数的形式写在vue实例的computed选项内,最终返回计算后的结果 <!DOCTYPE html> <html lang="en&quo ...

  8. android——databinding中字符串的拼接处理、TextView显示的值随activity的属性值改变同时改变--LiveData、双向绑定过滤器、监听某个值的改变

    简介 使用的技术是观察者与被观察者的模式,在google推荐的案例中也有使用到,现在我把它封装成一个扩展函数,使得使用更加简单明了 注意 1.在build.gradle添加databinding,在a ...

  9. python类中的属性分为类属性和实例属性两种_python中类和实例如何绑定属性与方法示例详解...

    前言 python类与实例的方法的调用中觉得云里雾里,思考之后将自己的想法记录下,一来加深自己理解,巩固自己记忆,而来帮助一些想要学习python的朋友理解这门抽象的语言,由于Python是动态语言, ...

最新文章

  1. Linux 运维笔试题(一)
  2. ubuntu 16.04下安装oracle jdk 1.7
  3. linux c gcc编译报错 can not be used when making a shared object; recompile with -fPIC
  4. 人脸识别python face_recognize_【python+face_recognition】人脸识别初始
  5. [转载]CLR怎样实现虚方法的多态调用(2)
  6. Redis :01---Redis简介和安装
  7. Python解决滑块验证,Scarpy框架采集数据到redis数据库!
  8. QQ空间无法上传多张图片解决方案
  9. Oracle 存储过程的创建,及触发器调用存储过程
  10. 安卓rom制作教程_Android ROM制作教程-开发必需
  11. SCSA---信息安全概述
  12. a 机械硬盘损坏,如何恢复数据
  13. 概率论与数理统计期末复习(仅供参考)
  14. Java自定义动态数组
  15. 电脑N卡跟A卡是什么,有区别么?
  16. 疫情期间谁干谁赚钱的三个小副业,普通人也能干,基本不用你投资
  17. 总结使用Unity 3D优化游戏运行性能的经验
  18. qq邮箱,网易邮箱,smtp邮箱发邮件
  19. php后端开发要学会哪些,PHP程序员需要学什么_后端开发
  20. MySQL中建表时的int(m)中的m代表什么意思?

热门文章

  1. 冷库管理源码PHP,冷库管理系统,你想知道的都在这里
  2. 从零开始搭建家庭网络:软路由实战经验分享(一)
  3. Xml字符串转Map
  4. 入耳式蓝牙耳机哪种音质好?微型蓝牙隐形耳机推荐
  5. url 里面 等号_【Python成长之路】从零学爬虫给微信公众号阅读量作个弊:刷阅读量...
  6. lsnrctl监听器的启动和关闭
  7. 【应用安全】什么是身份和访问管理 (IAM)?
  8. 抖音如何开直播?直播需要做什么准备?
  9. 基于dlib库进行微笑识别和口罩识别
  10. 魅族 刷机android 6.0,乐视X900+安卓6.0 魅族Flyme6刷机包 最新6.7.12.29R付费纯净版