源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Angular4 中内置指令的基本用法

  • 时间:2021-08-06 13:56 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Angular4 中内置指令的基本用法
[b]前言[/b] 大家都知道ng内置了许多自定义的指令,这避免了我们自己去造轮子。同时,ng也提供了自定义指令的功能,可以让我们的页面元素标签更加实例化。 在这篇文章中,我们将分别列举每一个内置指令的用法,并提供一个例子作为演示。尽量用最少最简单的描述,让你在更快更准确地学会每一种内置指令的基本用法。 [b]ngFor[/b] 作用:像 for 循环一样,可以重复的从数组中取值并显示出来。 [b]例子:[/b]
// .ts

this.userInfo = ['张三', '李四', '王五'];

// .html

<div class="ui list" *ngFor="let username of userInfo">
 <div class="item">{{username}}</div>
</div>
[b]讲解: [/b] 他的语法是 [code]*ngFor="let username of userInfo"[/code] ,其中 userInfo 是从中取值的数组,username 是每次从中取出来的值。然后在这个标签里面的内容就会重复执行,并通过双向绑定,将 username 显示出来。 [b]ngIf[/b] [b]作用:[/b]根据条件决定是否显示或隐藏这个元素。 [b]例子:[/b]
// .html

<div *ngIf="false"></div>
<div *ngIf="a > b"></div>
<div *ngIf="username == '张三'"></div>
<div *ngIf="myFunction()"></div>
[b]讲解:[/b] [list] [*]永远不会显示[/*] [*]当 a 大于 b 的时候显示[/*] [*]当 username 等于 张三 的时候显示[/*] [*]根据 myFunction() 这个函数的返回值,决定是否显示[/*] [/list] [b]ngSwitch[/b] [b]作用:[/b]防止条件复杂的情况导致过多的使用 ngIf。 [b]例子:[/b]
// .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>
[b]讲解: [/b] [ngSwitch] 先与目标进行绑定,ngSwitchCase 列出每个可能性,ngSwitchDefault 列出默认值。 [b]ngStyle[/b] [b]作用:[/b]可以使用动态值给特定的 DOM 元素设定 CSS 属性。 [b]例子:[/b]
// .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>
[b]讲解:[/b] [list] [*]直接设置颜色为 yellow。[/*] [*]设置背景颜色为 backColor,并可以在 .ts 文件中对 backColor 的值进行修改。[/*] [*]设置字体大小,需要注意的是 只写 font-size 会报错,必须在后面加上 .px。当然 .em .% 都是可以的。[/*] [*]前三种都是只设置一个,写 [ngStyle] 可以同时写多个,使用花括号包住里面的内功。需要注意的是连字符 - 是不允许出现在对象的键名当中的,如果使用 background-color 等时需要加上单引号。[/*] [/list] [b]ngClass[/b] [b]作用:[/b]动态地设置和改变一个给定 DOM 元素的 CSS类。 [b]例子:[/b]
// .scss
.bordered {
 border: 1px dashed black;
 background-color: #eee;
}

// .ts
isBordered: boolean = true;
 
// .html
<div [ngClass]="{bordered: isBordered}">
 是否显示边框
</div>
[b]讲解:[/b] [list] [*]scss 中设置了样式,相当于你建了一个 [code]class="bordered"[/code] 。[/*] [*]ts 中新建了一个 isBordered,用于判断是否显示 .scss 中的样式。[/*] [*]html 中用 isBordered 作为 bordered 是否显示 的判断依据。[/*] [/list] [b]ngNonBindable[/b] [b]作用:[/b]告诉 Angular 不要绑定页面的某个部分。 [b]例子:[/b]
.html

<div ngNonBindable>
 {{我不会被绑定}}
</div>
[b]讲解: [/b] 使用了 ngNonBindable ,花括号就会被当做字符串一起显示出来。 [b]总结[/b] 日常开发中,用 ngFor 和 ngIf 应该是最多的了,所以把他们两个写在了前面。至于 ngNonBindable,我实际开发中一次没用过,也是查着资料测试一遍写下来的。 好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程素材网的支持
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部