[转] Angular 4.0 内置指令全攻略
【From】 https://segmentfault.com/a/1190000010416792
在这篇文章中,我们将分别列举每一个内置指令的用法,并提供一个例子作为演示。尽量用最少最简单的描述,让你在更快更准确地学会每一种内置指令的基本用法。
ngFor
作用:像 for 循环一样,可以重复的从数组中取值并显示出来。
例子:
// .ts
this.userInfo = ['张三', '李四', '王五'];
// .html
<div class="ui list" *ngFor="let username of userInfo">
<div class="item">{{username}}</div>
</div>
讲解:
他的语法是 *ngFor="let username of userInfo",其中 userInfo 是从中取值的数组,username 是每次从中取出来的值。然后在这个标签里面的内容就会重复执行,并通过双向绑定,将 username 显示出来。
ngIf
作用:根据条件决定是否显示或隐藏这个元素。
例子:
// .html
<div *ngIf="false"></div>
<div *ngIf="a > b"></div>
<div *ngIf="username == '张三'"></div>
<div *ngIf="myFunction()"></div>
讲解:
永远不会显示
当 a 大于 b 的时候显示
当 username 等于 张三 的时候显示
根据 myFunction() 这个函数的返回值,决定是否显示
ngSwitch
作用:防止条件复杂的情况导致过多的使用 ngIf。
例子:
// .html
<div class="container" [ngSwitch]="myAge">
<div *ngSwitchCase="'10'">age = 10</div>
<div *ngSwitchCase="'20'">age = 20</div>
<div *ngSwitchDefault="'18'">age = 18</div>
</div>
讲解:
[ngSwitch] 先与目标进行绑定,ngSwitchCase 列出每个可能性,ngSwitchDefault 列出默认值。
ngStyle
作用:可以使用动态值给特定的 DOM 元素设定 CSS 属性。
例子:
// .ts
backColor: string = 'red';
// .html
<div [style.color]="yellow">
你好,世界
</div>
<div [style.background-color]="backColor">
你好,世界
</div>
<div [style.font-size.px]="20">
你好,世界
</div>
<div [ngStyle]="{color: 'white', 'background-color': 'blue', 'font-size.px': '20'}">
你好,世界
</div>
讲解:
直接设置颜色为 yellow。
设置背景颜色为 backColor,并可以在 .ts 文件中对 backColor 的值进行修改。
设置字体大小,需要注意的是
只写 font-size 会报错,必须在后面加上 .px。当然 .em .% 都是可以的。前三种都是只设置一个,写 [ngStyle] 可以同时写多个,使用花括号包住里面的内功。需要注意的是
连字符 -是不允许出现在对象的键名当中的,如果使用 background-color 等时需要加上单引号。
ngClass
作用:动态地设置和改变一个给定 DOM 元素的 CSS类。
例子:
// .scss
.bordered {
border: 1px dashed black;
background-color: #eee;
}
// .ts
isBordered: boolean = true;
// .html
<div [ngClass]="{bordered: isBordered}">
是否显示边框
</div>
讲解:
scss 中设置了样式,相当于你建了一个 class="bordered"。
ts 中新建了一个 isBordered,用于判断是否显示 .scss 中的样式。
html 中用 isBordered 作为
bordered 是否显示的判断依据。
ngNonBindable
作用:告诉 Angular 不要绑定页面的某个部分。
例子:
.html
<div ngNonBindable>
{{我不会被绑定}}
</div>
讲解:
使用了 ngNonBindable ,花括号就会被当做字符串一起显示出来。
总结
日常开发中,用 ngFor 和 ngIf 应该是最多的了,所以把他们两个写在了前面。至于 ngNonBindable,我实际开发中一次没用过,也是查着资料测试一遍写下来的。
[转] Angular 4.0 内置指令全攻略的更多相关文章
- Angular中的内置指令和自定义指令
NG中的指令,到底是什么(what)? 为什么会有(why)?以及怎样使用(how)? What: 在NG中,指令扩展HTML功能,为 DOM 元素调用方法.定义行为绑定数据等. Why: 最大程度减 ...
- Angular内置指令(一)
要注意的是不要把自己开发的指令以ng开头,以免与内置指令冲突 目录:ng-disabled,ng-readonly,ng-checked,ng-selected,ng-href,ng-src,ng- ...
- angular内置指令相关知识
原文地址 https://www.jianshu.com/p/5a5b43a8e91f 大纲 1.angular指令的分类 2.angular指令之——组件 3.angular指令之——属性指令 (n ...
- Angular内置指令
记录一下工作中使用到的一些AngularJS内置指令 内置指令:所有的内置指令的前缀都为ng,不建议自定义指令使用该前缀,以免冲突 1. ng-model 使用ng-model实现双向绑定,通过表单的 ...
- 2.0 vue内置指令与自定义指令
1.1 常用内置指令 1) v:text : 更新元素的 textContent 2) v-html : 更新元素的 innerHTML 3) v-if : 如果为 true, 当前标签才会输出到页 ...
- Angular——内置指令
内置指令 ng-app 指定应用根元素,至少有一个元素指定了此属性. ng-controller 指定控制器 ng-show控制元素是否显示,true显示.false不显示 ng-hide控制元素是否 ...
- AngularJS内置指令
指令,我将其理解为AngularJS操作HTML element的一种途径. 由于学习AngularJS的第一步就是写内置指令ng-app以指出该节点是应用的根节点,所以指令早已不陌生. 这篇日志简单 ...
- angularJS内置指令一览
基础ng指令 ng-href ng-src ng-disabled ng-readonly ng-checked ng-selected ng-class ng-style ng-show ng-hi ...
- AngularJS高级程序设计读书笔记 -- 指令篇 之 内置指令
1. 内置指令(10-12 章) AngularJS 内置超过 50 个内置指令, 包括 数据绑定,表单验证,模板生成,时间处理 和 HTML 操作. 指令暴露了 AngularJS 的核心功能, 如 ...
随机推荐
- 解决error C2365
今天把一个FILE_BOTH_DIRECTORY_INFORMATION结构的变量,愣是写成了“enum”枚举....然后出现error C2365错误. 在CSDN上看到别人遇到问题,有人回复了“如 ...
- JMS-消息中间件的应用02-安装ActiveMQ-来自慕课学习-新手学习
What is ActiveMQ? -----突然好想打英文,好奇怪 请看来自官网的介绍: Apache ActiveMQ ™ is the most popular and powerf ...
- js 清空 input[type=file]的值
js 不能操作 input[type=file]但你可以将这个 input 的 dom 元素删除掉,再新增一个,或者替换掉 $("#UploadFile").replaceWith ...
- DataAnnotationsModelValidator-基于数据注解方式的model验证器
http://www.cnblogs.com/artech/archive/2012/04/10/how-mvc-works.html http://www.cnblogs.com/artech/ar ...
- NSString 对象保存在哪? @“xxx”和 stringWithFormat:@"xxx" 区别?
NSString *str1=@"string";//这种是保存在常量池 NSString *str2=@"string"; NSLog(@"str1 ...
- 关于modelsim闪退问题
电脑之前做过仿真,modelsim是可以完美调用的,但是最近莫名其妙的就出现闪退问题,不通过quartus或者ise调用,单独使用的时候也会闪退. 偶尔一次能抓到错误消息.如下图所示: 然并卵,网上根 ...
- 软件工程:Java实现WC.exe基本功能
项目相关要求 GitHub地址:https://github.com/3216004716/WC 实现一个统计程序,它能正确统计程序文件中的字符数.单词数.行数,以及还具备其他扩展功能,并能够快速地处 ...
- 【转】android 手势识别和VelocityTracker
参考地址: http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1020/448.html http://www.jcodecraeer.co ...
- ajax的get,post ,封装
let ajax = new Object(); ajax.get = function(url,fn){ //创建ajax对象 let xhr = new XMLHttpRequest(); //与 ...
- memcache 未授权访问漏洞
memcache是一套常用的key-value缓存系统,由于它本身没有权限控制模块,所以开放在外网的memcache服务很容易被攻击者扫描发现,通过命令交互可直接读取memcache中的敏感信息. 修 ...