淺談一下Angular模板引擎ng-template
這篇文章帶大家了解一下在重構管理控制台中使用到的Angular的模板引擎ng-template,簡單介紹一下ng-template中的ng-container、ngIf,ngFor、ngClass 、ngStyle和ngSwitch。
模板引擎是Web應用中用來產生動態HTML的一個途徑, 負責將資料模型與HTML模板結合(即模板渲染),產生最終的HTML。編寫HTML模板的語法稱為模板語法,模板語法的表達能力和可擴展性決定了模板引擎的易用性。 【相關教學推薦:《angular教學》】
ng-template簡介
ng-template
表示為Angular
模板:這表示此標記的內容將包含模板的一部分,然後可以與其他模板一起組合以形成最終的元件模板。
ng-template
主要包含:ng-container
、ngIf
,ngFor
、ngClass
、ngStyle
和ngSwitch
。
ng-container
ng-container
是一個邏輯容器,是Angular
結構型指令中的一種,用於包含控制內部元素的顯示與否。
ng-container
可以包含任何元素,包括文本,但本身不會產生元素標籤,也不會影響頁面樣式和佈局。包含的內容,如果不透過其他指令控制,會直接渲染到頁面中。
基本語法
<div> <ng-container> <p>This is paragraph 1.</p> <p>This is paragraph 2.</p> </ng-container> </div>
渲染後
<div> <p>This is paragraph 1.</p> <p>This is paragraph 2.</p> </div>
ngIf
ngIf
用於根據表達式的值,在指定位置渲染then
或else
模板的內容。
* `then` 模板除非绑定到不同的值,否则默认是 ngIf 指令关联的内联模板。 * `else` 模板除非绑定对应的值,否则默认是 null。复制代码
簡單形式
<div *ngIf="!isLoggedIn"> Please login, friend. </div> <!-- logic && operator --> <div *ngIf="isLoggedIn && !isNewUser"> Welcome back, friend. </div> <!-- logic OR operator --> <div *ngIf="isLoggedIn || isNewUser"> Welcome! </div>
使用else區塊
<div *ngIf="isLoggedIn; else loggedOut"> Welcome back, friend. </div> <ng-template #loggedOut> Please friend, login. </ng-template>
使用then和else區塊
<ng-container *ngIf="isLoggedIn; then loggedIn; else loggedOut"></ng-container> <ng-template #loggedIn> <div> Welcome back, friend. </div> </ng-template> <ng-template #loggedOut> <div> Please friend, login. </div> </ng-template>
ngFor
ngFor
用於使用可迭代的每個項目作為模板的上下文來重複模板的一種方式。提供了其他可以被局部變數別名的值:
index
- 目前專案的位置在從0開始的迭代中first
- 如果當前項是可迭代中的第一個項,則為truelast
- 如果當前項是可迭代中的最後一個項,則為trueeven
- 如果目前索引為偶數,則為trueodd
- 如果目前索引為奇數,則為true
<mat-list-item *ngFor="let event of events"> <h3 matLine>{{event.title}}</h3> <p matLine class="secondary-text">{{event.detail}}</p> </mat-list-item>
ngClass
ngClass
指令更改綁定到其附加的元件或元素的class屬性。
<a class="favorite" [ngClass]="[isFavorite ? 'text-dark' : 'text-gray']" (click)="setFavorite()" > <i class="fe fe-heart font-size-21"></i> </a>
ngClass
第一個參數為類別名稱,第二個參數為boolean值,如果為true就新增第一個參數的類別。
ngStyle
ngStyle
來修改元件或元素的style屬性。
<div class="label-color" [ngStyle]="{'background-color': labels | getById:labelId:'color'}"></div> // 判断添加 <div [ngStyle]="{'background-color':template === 'dark' ? 'dark' : 'light' }"></<div>
ngSwitch
ng-switch
根據表達式的值顯示或這隱藏對應部分。
ng-switch-when
- 對應條件選項,如果符合選取選擇顯示,其他為符合的則移除。ng-switch-default
- 設定預設選項,如果都沒有符合的情況,預設選項會顯示。
<div ng-switch="表达式/变量"> <div ng-switch-when="value"></div> <div ng-switch-when="value"></div> <div ng-switch-when="value"></div> <div ng-switch-default></div> </div
更多程式相關知識,請造訪:程式設計影片! !
以上是淺談一下Angular模板引擎ng-template的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

這篇文章繼續Angular的學習,帶大家了解Angular中的元數據和裝飾器,簡單了解一下他們的用法,希望對大家有幫助!

Angular.js是一種可自由存取的JavaScript平台,用於建立動態應用程式。它允許您透過擴展HTML的語法作為模板語言,以快速、清晰地表示應用程式的各個方面。 Angular.js提供了一系列工具,可協助您編寫、更新和測試程式碼。此外,它還提供了許多功能,如路由和表單管理。本指南將討論在Ubuntu24上安裝Angular的方法。首先,您需要安裝Node.js。 Node.js是一個基於ChromeV8引擎的JavaScript運行環境,可讓您在伺服器端執行JavaScript程式碼。要在Ub

angular中怎麼使用monaco-editor?以下這篇文章記錄下最近的一次業務中用到的 monaco-editor 在 angular 中的使用,希望對大家有幫助!

這篇文章跟大家分享一個Angular實戰,了解一下angualr 結合 ng-zorro 如何快速開發一個後台系統,希望對大家有幫助!

隨著網路的快速發展,前端開發技術也不斷改進與迭代。 PHP和Angular是兩種廣泛應用於前端開發的技術。 PHP是一種伺服器端腳本語言,可以處理表單、產生動態頁面和管理存取權限等任務。而Angular是一種JavaScript的框架,可以用來開發單一頁面應用程式和建構元件化的網頁應用程式。本篇文章將介紹如何使用PHP和Angular進行前端開發,以及如何將它們

這篇文章帶大家了解Angular中的獨立元件,看看怎麼在Angular中建立一個獨立元件,怎麼在獨立元件中導入已有的模組,希望對大家有幫助!
