中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Angular4 中內置指令的基本用法

發布時間:2020-08-20 09:59:30 來源:腳本之家 閱讀:161 作者:devilx 欄目:web開發

前言

大家都知道ng內置了許多自定義的指令,這避免了我們自己去造輪子。同時,ng也提供了自定義指令的功能,可以讓我們的頁面元素標簽更加實例化。

在這篇文章中,我們將分別列舉每一個內置指令的用法,并提供一個例子作為演示。盡量用最少最簡單的描述,讓你在更快更準確地學會每一種內置指令的基本用法。

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,我實際開發中一次沒用過,也是查著資料測試一遍寫下來的。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對億速云的支持

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

北辰区| 温州市| 吴川市| 龙江县| 铜陵市| 西青区| 全南县| 霍林郭勒市| 阆中市| 东宁县| 巫山县| 玉龙| 大连市| 西和县| 满洲里市| 吴堡县| 萝北县| 江门市| 临澧县| 高要市| 海南省| 深圳市| 会同县| 沅江市| 博爱县| 如皋市| 浮山县| 城固县| 兴山县| 集贤县| 丽江市| 临清市| 环江| 陆良县| 桦南县| 广宗县| 黄平县| 江阴市| 山阳县| 龙井市| 永嘉县|