欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Angular4 中內(nèi)置指令的基本用法

 更新時(shí)間:2017年07月31日 09:39:42   作者:devilx  
不得不說(shuō)指令是ng最為強(qiáng)大的功能之一,好吧,也可以去掉之一,是最強(qiáng)大的功能。下面這篇文章主要給大家介紹了關(guān)于Angular4中內(nèi)置指令的基本用法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面來(lái)一起看看吧。

前言

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

在這篇文章中,我們將分別列舉每一個(gè)內(nèi)置指令的用法,并提供一個(gè)例子作為演示。盡量用最少最簡(jiǎn)單的描述,讓你在更快更準(zhǔn)確地學(xué)會(huì)每一種內(nèi)置指令的基本用法。

ngFor

作用:像 for 循環(huán)一樣,可以重復(fù)的從數(shù)組中取值并顯示出來(lái)。

例子:

// .ts

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

// .html

<div class="ui list" *ngFor="let username of userInfo">
 <div class="item">{{username}}</div>
</div>

講解:

他的語(yǔ)法是 *ngFor="let username of userInfo" ,其中 userInfo 是從中取值的數(shù)組,username 是每次從中取出來(lái)的值。然后在這個(gè)標(biāo)簽里面的內(nèi)容就會(huì)重復(fù)執(zhí)行,并通過雙向綁定,將 username 顯示出來(lái)。

ngIf

作用:根據(jù)條件決定是否顯示或隱藏這個(gè)元素。

例子:

// .html

<div *ngIf="false"></div>
<div *ngIf="a > b"></div>
<div *ngIf="username == '張三'"></div>
<div *ngIf="myFunction()"></div>

講解:

  • 永遠(yuǎn)不會(huì)顯示
  • 當(dāng) a 大于 b 的時(shí)候顯示
  • 當(dāng) username 等于 張三 的時(shí)候顯示
  • 根據(jù) myFunction() 這個(gè)函數(shù)的返回值,決定是否顯示

ngSwitch

作用:防止條件復(fù)雜的情況導(dǎo)致過多的使用 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] 先與目標(biāo)進(jìn)行綁定,ngSwitchCase 列出每個(gè)可能性,ngSwitchDefault 列出默認(rèn)值。

ngStyle

作用:可以使用動(dòng)態(tài)值給特定的 DOM 元素設(shè)定 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>

講解:

  • 直接設(shè)置顏色為 yellow。
  • 設(shè)置背景顏色為 backColor,并可以在 .ts 文件中對(duì) backColor 的值進(jìn)行修改。
  • 設(shè)置字體大小,需要注意的是 只寫 font-size 會(huì)報(bào)錯(cuò),必須在后面加上 .px。當(dāng)然 .em .% 都是可以的。
  • 前三種都是只設(shè)置一個(gè),寫 [ngStyle] 可以同時(shí)寫多個(gè),使用花括號(hào)包住里面的內(nèi)功。需要注意的是連字符 - 是不允許出現(xiàn)在對(duì)象的鍵名當(dāng)中的,如果使用 background-color 等時(shí)需要加上單引號(hào)。

ngClass

作用:動(dòng)態(tài)地設(shè)置和改變一個(gè)給定 DOM 元素的 CSS類。

例子:

// .scss
.bordered {
 border: 1px dashed black;
 background-color: #eee;
}

// .ts
isBordered: boolean = true;
 
// .html
<div [ngClass]="{bordered: isBordered}">
 是否顯示邊框
</div>

講解:

  • scss 中設(shè)置了樣式,相當(dāng)于你建了一個(gè) class="bordered"
  • ts 中新建了一個(gè) isBordered,用于判斷是否顯示 .scss 中的樣式。
  • html 中用 isBordered 作為 bordered 是否顯示 的判斷依據(jù)。

ngNonBindable

作用:告訴 Angular 不要綁定頁(yè)面的某個(gè)部分。

例子:

.html

<div ngNonBindable>
 {{我不會(huì)被綁定}}
</div>

講解:

使用了 ngNonBindable ,花括號(hào)就會(huì)被當(dāng)做字符串一起顯示出來(lái)。

總結(jié)

日常開發(fā)中,用 ngFor 和 ngIf 應(yīng)該是最多的了,所以把他們兩個(gè)寫在了前面。至于 ngNonBindable,我實(shí)際開發(fā)中一次沒用過,也是查著資料測(cè)試一遍寫下來(lái)的。

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持

相關(guān)文章

  • Angular中$cacheFactory的作用和用法實(shí)例詳解

    Angular中$cacheFactory的作用和用法實(shí)例詳解

    $cacheFactory是一個(gè)為Angular服務(wù)生產(chǎn)緩存對(duì)象的服務(wù)。接下來(lái)通過本文給大家介紹Angular中$cacheFactory的作用和用法實(shí)例詳解,非常不錯(cuò),感興趣的朋友一起看下吧
    2016-08-08
  • angular中使用路由和$location切換視圖

    angular中使用路由和$location切換視圖

    這篇文章主要介紹了angular中使用路由和$location切換視圖,需要的朋友可以參考下
    2015-01-01
  • AngularJs 60分鐘入門基礎(chǔ)教程

    AngularJs 60分鐘入門基礎(chǔ)教程

    AngularJs是一個(gè)不錯(cuò)的用于開發(fā)SPA應(yīng)用(單頁(yè)Web應(yīng)用)的框架。通過本文給大家介紹angularjs基礎(chǔ)教程,需要的朋友要求學(xué)習(xí)吧
    2016-04-04
  • AngularJS初始化靜態(tài)模板詳解

    AngularJS初始化靜態(tài)模板詳解

    這篇文章主要為大家介紹了AngularJS初始化靜態(tài)模板,AngularJS初始化靜態(tài)模板有兩種方式,一是通過ng-app來(lái)自動(dòng)初始化模塊,也可以通過angular.bootstrap(document, [module])手動(dòng)啟動(dòng)應(yīng)用,感興趣的小伙伴們可以參考一下
    2016-01-01
  • angular中實(shí)現(xiàn)li或者某個(gè)元素點(diǎn)擊變色的兩種方法

    angular中實(shí)現(xiàn)li或者某個(gè)元素點(diǎn)擊變色的兩種方法

    本篇文章主要介紹了angular中實(shí)現(xiàn)li或者某個(gè)元素點(diǎn)擊變色的兩種方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-07-07
  • 詳解基于angular-cli配置代理解決跨域請(qǐng)求問題

    詳解基于angular-cli配置代理解決跨域請(qǐng)求問題

    本篇文章主要介紹了詳解基于angular-cli配置代理解決跨域請(qǐng)求問題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Angular 4.x 路由快速入門學(xué)習(xí)

    Angular 4.x 路由快速入門學(xué)習(xí)

    這篇文章主要介紹了Angular 4.x 路由快速入門學(xué)習(xí),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-05-05
  • js常用正則表達(dá)式集錦

    js常用正則表達(dá)式集錦

    這篇文章主要介紹了js常用正則表達(dá)式集錦,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • 分享使用AngularJS創(chuàng)建應(yīng)用的5個(gè)框架

    分享使用AngularJS創(chuàng)建應(yīng)用的5個(gè)框架

    如果你計(jì)劃使用AngularJS創(chuàng)建你的Web應(yīng)用,那現(xiàn)在就開始吧。你不需要有任何的恐懼和擔(dān)心,因?yàn)楝F(xiàn)在有很多的框架都可以很好地支持AngularJS
    2015-12-12
  • 淺談angular.copy() 深拷貝

    淺談angular.copy() 深拷貝

    本篇文章主要介紹了淺談angular.copy() 深拷貝,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-09-09

最新評(píng)論