angular *Ngif else用法詳解
Angular 中常用的指令有用來(lái)遍歷的 *ngFor 、控制元素顯示隱藏的 *ngIf,今天學(xué)習(xí)一下 *ngIf 這個(gè)常用的指令。
NgIf 指令
ngIf 指令用于根據(jù)表達(dá)式的值,在指定位置渲染then 或 else 模板的內(nèi)容。
then 模板除非綁定到不同的值,否則默認(rèn)是 ngIf 指- 令關(guān)聯(lián)的內(nèi)聯(lián)模板。
else 模板除非綁定對(duì)應(yīng)的值,否則默認(rèn)是 null。
簡(jiǎn)單形式
<div *ngIf="condition">...</div> <!--Angular 2.x中使用template--> <ng-template [ngIf]="condition"><div>...</div></ng-template>
else
<div *ngIf="condition; else elseBlock">...</div> <ng-template #elseBlock>...</ng-template>
then 和 else
<div *ngIf="condition; then thenBlock else elseBlock"></div> <ng-template #thenBlock>...</ng-template> <ng-template #elseBlock>...</ng-template>
在我們的實(shí)際業(yè)務(wù)中可能遇到這樣的需求,一個(gè) table 表格,最后一列有修改、刪除或者其他操作,當(dāng)我們點(diǎn)擊修改按鈕的時(shí)候,當(dāng)前這一行的內(nèi)容都出現(xiàn)在一個(gè) input 輸入框里面,然后我們可以直接進(jìn)行修改,這個(gè)時(shí)候我們就可以使用 *ngIf 和 else 來(lái)實(shí)現(xiàn)。效果圖如下:


部分實(shí)現(xiàn)代碼:
<tr *ngFor="let item of gridList">
<td *ngIf="item.bol; else inputid">{{item.id}}</td>
<ng-template #inputid>
<td class="insert"><input type="text" [value]="item.id"></td>
</ng-template>
...
</tr>
這里的 inputid 可以理解為一個(gè)模板 id ,它指向 <ng-template #inputid> 這個(gè)模板,當(dāng) item.bol 為 false 時(shí),angular就會(huì)找到這個(gè)模板里的內(nèi)容進(jìn)行替換。
注意這個(gè)模板 id 是唯一的,如果多次使用 *ngIf else 指令需要使用不同的 id。
到此這篇關(guān)于angular *Ngif else用法詳解的文章就介紹到這了,更多相關(guān)angular *Ngif else內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
AngularJS使用ng-app自動(dòng)加載bootstrap框架問(wèn)題分析
這篇文章主要介紹了AngularJS使用ng-app自動(dòng)加載bootstrap框架問(wèn)題,分析了前面文章中所述的ng-app自動(dòng)加載bootstrap出現(xiàn)的錯(cuò)誤原因與相應(yīng)的解決方法,需要的朋友可以參考下2017-01-01
AngularJS 中的指令實(shí)踐開發(fā)指南(一)
指令(Directives)是所有AngularJS應(yīng)用最重要的部分。盡管AngularJS已經(jīng)提供了非常豐富的指令,但還是經(jīng)常需要?jiǎng)?chuàng)建應(yīng)用特定的指令。這篇教程會(huì)為你講述如何自定義指令,以及介紹如何在實(shí)際項(xiàng)目中使用2016-03-03
Angular中$cacheFactory的作用和用法實(shí)例詳解
$cacheFactory是一個(gè)為Angular服務(wù)生產(chǎn)緩存對(duì)象的服務(wù)。接下來(lái)通過(guò)本文給大家介紹Angular中$cacheFactory的作用和用法實(shí)例詳解,非常不錯(cuò),感興趣的朋友一起看下吧2016-08-08
AngularJS 使用ng-repeat報(bào)錯(cuò) [ngRepeat:dupes]
這篇文章主要介紹了AngularJS 使用ng-repeat報(bào)錯(cuò) [ngRepeat:dupes] 的相關(guān)資料,需要的朋友可以參考下2017-01-01
angularjs實(shí)現(xiàn)過(guò)濾并替換關(guān)鍵字小功能
這篇文章主要為大家詳細(xì)介紹了angularjs實(shí)現(xiàn)過(guò)濾并替換關(guān)鍵字小功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
利用JavaScript的AngularJS庫(kù)制作電子名片的方法
這篇文章主要介紹了利用JavaScript的AngularJS庫(kù)制作電子名片的方法,其中需要使用到HTML5的canvas畫布,需要的朋友可以參考下2015-06-06
基于Angular.js實(shí)現(xiàn)的觸摸滑動(dòng)動(dòng)畫實(shí)例代碼
這篇文章主要介紹了基于Angular.js實(shí)現(xiàn)的觸摸滑動(dòng)動(dòng)畫實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
angularjs實(shí)現(xiàn)文字上下無(wú)縫滾動(dòng)特效代碼
這篇文章主要介紹了angularjs實(shí)現(xiàn)文字上下無(wú)縫滾動(dòng)特效代碼的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09
AngularJS實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)后自動(dòng)彈出對(duì)話框?qū)嵗a
這篇文章主要介紹了AngularJS實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)后自動(dòng)彈出對(duì)話框?qū)嵗a,然后在文章下面給大家介紹了angularjs頁(yè)面加載后自動(dòng)彈窗的實(shí)例代碼,感興趣的朋友參考下吧2017-08-08

