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加载XML并解析的脚本
Jul 25 Javascript
js有关元素内容操作小结
Dec 20 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
Jun 18 Javascript
从零学JSON之JSON数据结构
May 19 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
Jul 18 Javascript
Extjs 点击复选框在表格中增加相关信息行
Jul 12 Javascript
js利用clipboardData实现截屏粘贴功能
Oct 12 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
Dec 14 Javascript
微信JS-SDK选取手机照片上传功能
Apr 21 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
Jan 16 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
Apr 15 Javascript
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
Feb 26 Vue.js
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中文字符截取防乱码
2008/03/28 PHP
利用discuz实现PHP大文件上传应用实例代码
2008/11/14 PHP
批量去除PHP文件中bom的PHP代码
2012/03/13 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
2013/08/07 PHP
php中各种定义变量的方法小结
2017/10/18 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
2019/09/18 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
javascript实现很浪漫的气泡冒出特效
2020/09/05 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
2016/03/30 Javascript
AngularJS  ng-table插件设置排序
2016/09/21 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
Angular进行简单单元测试的实现方法实例
2020/08/16 Javascript
Python基于二分查找实现求整数平方根的方法
2016/05/12 Python
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
Flask框架信号用法实例分析
2018/07/24 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
基于CSS3 animation动画属性实现轮播图效果
2017/09/12 HTML / CSS
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
党校学习思想汇报
2014/01/06 职场文书
社区庆中秋节活动方案
2014/02/07 职场文书
2014年文明创建工作总结
2014/11/25 职场文书
高中社区服务活动报告
2015/02/05 职场文书
2015年实习单位评语
2015/03/25 职场文书
基层工作经历证明
2015/06/19 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
大学生党员暑假实践(活动总结)
2019/08/21 职场文书