Angular學習之詳解樣式綁定(ngClass和ngStyle)的使用
專案場景:
#前端開發中常會遇到這樣一種情況:不同的頁面會共用同一段程式碼,同時我們要根據頁面的具體資訊或某種操作(例如點擊某個按鈕)去決定是否要展示這段程式碼或讓頁面樣式做出一定的改變,這時就用到我們angular 中的樣式綁定!
問題描述
例如:網站的兩個頁面需要用到同樣一段程式碼,重複寫兩遍不符合dry (don't repeat yourself)原則,效率也很低,所以公司裡angular的前端開發專案中通常不會這麼做。如果有一天領導告訴你:zzz,麻煩你改下程式碼,這句提示語我在這個頁面想要呈現這個效果,在另一個頁面要那個效果,這時你該怎麼辦呢?下面以一個簡單的例子來說明。 【相關教學推薦:《angular教學》】
#公用的程式碼片段(修改前):
<div class="normalTxt"> <span >I love angular</span> </div>
##原因分析:
angular中的樣式綁定可以實現上述需求,angular有兩種樣式綁定指令:[ngStyle],[ngClass] # 注意:使用時必須用[ ] 方括號把他們括起來!
1.[ngStyle]
<any [ngStyle]=“obj”>
- #any代表樣式綁定的標籤類型可以是任何類型,例如是div,p,span等等都行。 在這裡插入程式碼片ngStyle綁定的值必須是一個物件。 物件屬性就是css樣式名,物件的值是具體的樣式。
//将这段div的背景色改为绿色 <div [ngStyle]="{'background-color':'green'}"> xxxx </div>
//如果当前页面为主页则将背景色改为绿色,否则改为红色 <div [ngStyle]="{'background-color':pageName== 'homepage' ? 'green' : 'red' }"> xxxx </div>
2.[ngClass]
<any [ngClass]=“obj”>
- any代表樣式綁定的標籤類型可以是任何類型,例如是div,p,span等等都行。 ngClass綁定的值必須是一個物件。 物件屬性就是 class名,屬性值為boolean型別結果只能為true/false,true的話該class就出現,否則該class不出現。
//使用.homepageText样式 <div [ngClass]="{'homepageText':true}"> xxxx </div>
//当页面名称是homepage时使用.homepageText样式,否则不使用 <div [ngClass]="{'homepageText':pageName =='homepage'}"> xxxx </div>
.homepageText { font-size: 14px; font-weight: bold; }
#解決方案:
以下是開頭問題的解決方案,希望為各位帶來一些啟發公用的程式碼片段(修改後):
<div [ngClass]="{'normalTxt':pageTitle=='portal' ,'specialTxt':pageTitle=='detail'}"> <span>I love angular</span> </div>
程式設計入門! !
以上是Angular學習之詳解樣式綁定(ngClass和ngStyle)的使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++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和Node.js編寫的完整工作演示。傳統身份驗證系統在繼續基於令牌的身份驗證系統之前,讓我們先來看看傳統的身份驗證系統。使用者在登入表單中提供使用者名稱和密碼,然後點擊登入。發出請求後,透過查詢資料庫在後端驗證使用者。如果請求有效,則使用從資料庫中獲取的使用者資訊建立會話,然後在回應頭中傳回會話訊息,以便將會話ID儲存在瀏覽器中。提供用於存取應用程式中受
