angular4笔记系列之内置指令小结


Posted in Javascript onNovember 09, 2018

内置指令

内置属性型指令

属性型指令会监听和修改其它HTML元素或组件的行为、元素属性(Attribute)、DOM属性(Property)。

NgClass

形式:[ngClass]="statement"

通过绑定到NgClass,可以同时添加或移除多个类。

setCurrentClasses() {
 this.currentClasses = {
  'saveable': this.canSave,
  'modified': !this.isUnchanged,
  'special': this.isSpecial
 };
}

<div [ngClass]="currentClasses">This div</div>

NgStyle

形式:[ngStyle]="statement"

NgStyle绑定可以同时设置多个内联样式。

setCurrentStyles() {
 this.currentStyles = {
  'font-style': this.canSave   ? 'italic' : 'normal',
  'font-weight': !this.isUnchanged ? 'bold'  : 'normal',
  'font-size':  this.isSpecial  ? '24px'  : '12px'
 };
}

<div [ngStyle]="currentStyles">This div</div>

NgModel

形式:[(ngModel)]="statement"

使用[(ngModel)]双向绑定到表单元素。

<input [(ngModel)]="currentHero.name">

使用 ngModel 时需要 FormsModule

内置结构型指令

NgIf

形式:*ngIf="statement"

<app-hero-detail *ngIf="isActive"></app-hero-detail>

NgFor

形式:*ngFor="statement"

<div *ngFor="let hero of heroes">{{hero.name}}</div>

NgSwitch

形式:[ngSwitch]="statement"

<div [ngSwitch]="currentHero.emotion">
 <app-happy-hero *ngSwitchCase="'happy'" [hero]="currentHero"></app-happy-hero>
 <app-sad-hero *ngSwitchCase="'sad'" [hero]="currentHero"></app-sad-hero>
 <app-unknown-hero *ngSwitchDefault [hero]="currentHero"></app-unknown-hero>
</div>

NgSwitch实际上包括三个相互协作的指令:NgSwitch、NgSwitchCase 和 NgSwitchDefault

模板引用变量 ( #var )

模板引用变量通常用来引用模板中的某个DOM元素,它还可以引用Angular组件或指令或Web Component。

<input #phone placeholder="phone number">

<button (click)="callPhone(phone.value)">Call</button>

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

Javascript 相关文章推荐
jquery $.ajax各个事件执行顺序
Oct 15 Javascript
JS中Date日期函数中的参数使用介绍
Jan 02 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
Feb 28 Javascript
web前端开发JQuery常用实例代码片段(50个)
Aug 28 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
Dec 28 Javascript
JS原生轮播图的简单实现(推荐)
Jul 22 Javascript
详解vue+css3做交互特效的方法
Nov 20 Javascript
浅谈vue-cli 3.0.x 初体验
Apr 11 Javascript
微信小程序页面间值传递的两种方法
Nov 26 Javascript
Layui Table js 模拟选中checkbox的例子
Sep 03 Javascript
js实现数字滚动特效
Dec 16 Javascript
JS实现横向轮播图(初级版)
Jun 24 Javascript
node版本管理工具n包使用教程详解
Nov 09 #Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
Nov 08 #Javascript
vue.js层叠轮播效果的实例代码
Nov 08 #Javascript
vue-cli 构建骨架屏的方法示例
Nov 08 #Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
Nov 08 #Javascript
详解在不使用ssr的情况下解决Vue单页面SEO问题
Nov 08 #Javascript
Vux+Axios拦截器增加loading的问题及实现方法
Nov 08 #Javascript
You might like
php 计算两个时间戳相隔的时间的函数(小时)
2009/12/18 PHP
php在程序中将网页生成word文档并提供下载的代码
2012/10/09 PHP
php实现的css文件背景图片下载器代码
2014/11/11 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
简明json介绍
2008/09/28 Javascript
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
javascript模版引擎-tmpl的bug修复与性能优化分析
2011/10/23 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
2016/11/21 Javascript
Node.js安装配置图文教程
2017/05/10 Javascript
JS实现的简单四则运算计算器功能示例
2017/09/27 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
Python 可爱的大小写
2008/09/06 Python
python类继承用法实例分析
2015/05/27 Python
基于python实现KNN分类算法
2020/04/23 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
2019/08/30 Python
Python hashlib模块加密过程解析
2019/11/05 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
2020/04/17 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
Silk’n激光脱毛器官网:silkn.com
2016/10/06 全球购物
珍珠鸟教学反思
2014/02/01 职场文书
烹调加工管理制度
2014/02/04 职场文书
反邪教观后感
2015/06/11 职场文书
vue中 this.$set的使用详解
2021/11/17 Vue.js
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL