保持CSS類不受Angular控制器影響的方法-創(chuàng)新互聯(lián)

小編給大家分享一下保持CSS類不受Angular控制器影響的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

目前成都創(chuàng)新互聯(lián)已為成百上千的企業(yè)提供了網(wǎng)站建設、域名、網(wǎng)絡空間、網(wǎng)站托管、企業(yè)網(wǎng)站設計、杭州網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

                              在Angular(以及一般情況下)中,我非常喜歡將視圖邏輯保留在我的控制器之外,而且我認為沒有發(fā)生這種情況的地方是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、字符串數(shù)組(要應用的類)

3、要評估的對象+表達式

其中選項3的語法看起來像這樣

ng-class="{object of key/value pairs}[expression to evaluate]"

基本上,ng-class計算表達式(在方括號中),然后使用它作為對象的鍵;鍵相關的值是應用的類。

這允許我們將$scope.active值轉(zhuǎn)換為真正的布爾值(這正是我們使用它的方式)——控制器中沒有視圖邏輯,控制器更容易測試并且可以重用。

這是一個簡單的例子:

<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控制器影響的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

名稱欄目:保持CSS類不受Angular控制器影響的方法-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://muchs.cn/article10/ddsego.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計、營銷型網(wǎng)站建設、云服務器、移動網(wǎng)站建設App設計、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司