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读取中文COOKIE的解决办法
Feb 15 Javascript
FormValidate 表单验证功能代码更新并提供下载
Aug 23 Javascript
Extjs学习笔记之二 初识Extjs之Form
Jan 07 Javascript
Safari5中alert的无限循环BUG
Apr 07 Javascript
jquery blockUI 遮罩不能消失与不能提交的解决方法
Sep 17 Javascript
js新闻滚动 js如何实现新闻滚动效果
Jan 07 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
Aug 04 Javascript
全面解析Bootstrap弹窗的实现方法
Dec 01 Javascript
Js动态设置rem来实现移动端字体的自适应代码
Oct 14 Javascript
详谈angularjs中路由页面强制更新的问题
Apr 24 Javascript
浅谈VUE监听窗口变化事件的问题
Feb 24 Javascript
javascript实现fetch请求返回的统一拦截
Dec 22 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中文本数据翻页(留言本翻页)
2006/10/09 PHP
php 文本文件的读取效率
2012/02/10 PHP
php记录代码执行时间(实现代码)
2013/07/05 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
PHP排序算法类实例
2015/06/17 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
加速IE的Javascript document输出的方法
2010/12/02 Javascript
JavaScript 判断用户输入的邮箱及手机格式是否正确
2013/12/08 Javascript
jquery图片轮播特效代码分享
2020/04/20 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
js实现字符全排列算法的简单方法
2017/05/01 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
JS控制鼠标拒绝点击某一按钮的实例
2017/12/29 Javascript
vue2.0 实现导航守卫的具体用法(路由守卫)
2018/05/17 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
js实现扫雷源代码
2020/11/27 Javascript
PYTHON 中使用 GLOBAL引发的一系列问题
2016/10/12 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
2017/09/20 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
Pyqt5 基本界面组件之inputDialog的使用
2019/06/25 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
2020/11/12 Python
交通法规咨询中心工作职责
2013/11/27 职场文书
英文自荐信
2013/12/15 职场文书
园林技术个人的自我评价
2014/01/08 职场文书
大学生自我鉴定评语
2014/01/27 职场文书
小学教师寄语大全
2014/04/03 职场文书
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
土木工程专业本科生求职信
2014/10/01 职场文书
最新农村养殖致富:资金投入较低的创业项目有哪些?
2019/09/26 职场文书
详解盒子端CSS动画性能提升
2021/05/24 HTML / CSS