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 相关文章推荐
Javascript客户端脚本的设计和应用
Aug 21 Javascript
jQuery源码分析-04 选择器-Sizzle-工作原理分析
Nov 14 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
Aug 30 Javascript
js与运算符和或运算符的妙用
Feb 14 Javascript
jquery中JSON的解析方式
Mar 16 Javascript
javascript动画之磁性吸附效果篇
Dec 09 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
Mar 15 Javascript
基于js的变量提升和函数提升(详解)
Sep 17 Javascript
element ui table(表格)实现点击一行展开功能
Dec 04 Javascript
浅谈webpack和webpack-cli模块源码分析
Jan 19 Javascript
浅谈webpack构建工具配置和常用插件总结
May 11 Javascript
OpenLayer3自定义测量控件MeasureTool
Sep 28 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
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
CSS中一些@规则的用法小结
2021/03/09 HTML / CSS
双击滚屏-常用推荐
2006/11/29 Javascript
默认让页面的第一个控件选中的javascript代码
2009/12/26 Javascript
Jquery调用webService远程访问出错的解决方法
2010/05/21 Javascript
javascript AOP 实现ajax回调函数使用比较方便
2010/11/20 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
js实现类似jquery里animate动画效果的方法
2015/04/10 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
React props和state属性的具体使用方法
2018/04/12 Javascript
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
2018/09/11 Javascript
Node.js系列之发起get/post请求(2)
2019/08/30 Javascript
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python批量修改文件后缀的方法
2014/01/26 Python
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
python3实现读取chrome浏览器cookie
2016/06/19 Python
python中的文件打开与关闭操作命令介绍
2018/04/26 Python
python在OpenCV里实现投影变换效果
2019/08/30 Python
基于django micro搭建网站实现加水印功能
2020/05/22 Python
如何让python的运行速度得到提升
2020/07/08 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
ProBikeKit英国:在线公路自行车之家
2017/02/10 全球购物
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
技术人员面试提纲
2013/11/28 职场文书
财务内勤岗位职责
2014/04/17 职场文书
党的群众路线教育实践活动整改落实情况报告
2014/10/28 职场文书
新党章的学习心得体会
2014/11/07 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书
python Tkinter的简单入门教程
2021/04/11 Python