在Angular(以及一般情況下)中,我非常喜歡將視圖邏輯保留在我的控制器之外,而且我認為沒有發生這種情況的地方是CSS類別和ng-class的使用。
對於ng-class你可能不太熟悉,它是一個特殊的指令,允許綁定表達式並將它們作為元素的類別放置。 ng-class的一個非常常見的用途是這樣的:
<p ng-class="{{active}}">Class applied!</p><script> function MySimpleCtrl() { $scope.active = 'active'; ...
所以在控制器中我們設定應該顯示的特定類別; 所以假設我們有一個類別「inactive.」-我們簡單地將$ scope.active 變數設定為“inactive”,我們最後在檢視中設定了類別。
但ng-class甚至比那更好用:
ng-class接受三種不同類型的值:
1、字串值(類別的名稱)
2、字串陣列(要套用的類別)
3、要評估的物件表達式
其中選項3的語法看起來像這樣
ng-class="{object of key/value pairs}[expression to evaluate]"
基本上,ng-class計算表達式(在方括號中),然後使用它作為物件的鍵;鍵相關的值是應用的類別。
這允許我們將$scope.active值轉換為真正的布林值(這正是我們使用它的方式)——控制器中沒有視圖邏輯,控制器更容易測試並且可以重複使用。
這是一個簡單的例子:
<p ng-class="{true: 'active', false: 'inactive'}[isActive]"> Class applied !</p><script> function MySimpleCtrl() { $scope.isActive = true;
如果您正在使用某種條件表達式(即切換),那麼您可以使用另一個非常相似的語法:
ng-class="{'selected': isSelected, 'blue': isBlue}"
此處,如果selected為真,則會套用選定的類,blue類也是一樣。 Angular將應用程式盡可能是真實的,因此您可以將類別設定為selected和blue。
以上是如何保持CSS類別不受Angular控制器的影響的詳細內容。更多資訊請關注PHP中文網其他相關文章!

CSS盒子陰影和輪廓屬性獲得了主題。讓我們查看一些在真實主題中起作用的示例,以及我們必須將這些樣式應用於WordPress塊和元素的選項。

Svelte Transition API提供了一種使組件輸入或離開文檔(包括自定義Svelte Transitions)時動畫組件的方法。

前幾天我只是和埃里克·邁耶(Eric Meyer)聊天,我想起了我成長時代的埃里克·邁耶(Eric Meyer)的故事。我寫了一篇有關CSS特異性的博客文章,以及


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境