#前端開發中常會遇到這樣一種情況:不同的頁面會共用同一段程式碼,同時我們要根據頁面的具體資訊或某種操作(例如點擊某個按鈕)去決定是否要展示這段程式碼或讓頁面樣式做出一定的改變,這時就用到我們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”>
//将这段div的背景色改为绿色 <div [ngStyle]="{'background-color':'green'}"> xxxx </div>
//如果当前页面为主页则将背景色改为绿色,否则改为红色 <div [ngStyle]="{'background-color':pageName== 'homepage' ? 'green' : 'red' }"> xxxx </div>
2.[ngClass]
<any [ngClass]=“obj”>
//使用.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中文網其他相關文章!