ng-class改變css樣式

來源:互聯網
上載者:User

標籤:tcl   ctc   keyword   add   lan   padding   info   網上   樣式   

而在這所謂的樣子當然就是改變其css的屬性,而實現能動態改變其屬性值,必然只能是更換其class屬性

這裡有三種方法:

第一種:通過資料的雙向繫結(不推薦)

第二種:通過對象數組

第三種:通過key/value

下面簡單說下這三種:

第一種:通過資料的雙向繫結

實現方式:

12345 function changeClass(){  $scope.className = "change2";} <div class="{{className}}"></div>

網上各種不推薦,說實話,既然angularJS雙向資料繫結這麼吊,為什麼不能通過這個來改變呢!查了下原由:“在controller涉及了classname在我看來是乎總是那麼詭異,我希望的是controller是一個乾淨的純Javascript意義的object”,當然並沒有明文固定不能夠這麼使用的,而且反而我覺得這樣非常的方便,讓html中元素想怎麼變就怎麼變!同理中的img元素中的src就不可以通過別的來改變,但是通過這種方式就是可以的!

當然,這種方式也的確給人的感覺怪怪的,個人認為:可以不得已而為之~

 

第二種:通過字串數組的形式來改變

實現方式:

12345 function changeClass(){  $scope.className = true/false;}  <div ng-class="{true:‘zhende‘,false:‘jiade‘}[className]"></div>

實現很簡單,就是當className為真的時候class為zhende,相反則為jiade。

但是有一點不好的只能夠讓一個元素擁有兩種狀態,雖然這麼說!基本也是滿足所需了,我一般都用這個。簡單、直觀!

第三種:通過key/value的方式

實現方式:

12345 function changeClass(){  $scope.lala = true;}  <div ng-class="{‘selectClass‘:select,‘choiceClass‘:choice,‘haha‘:lala}"></div>

當lala為true的時候,class則為haha,個人認為這個是比較推薦的,可以彌補第二種方式的點點遺憾~

 ng-class="{‘choose‘:sendData.subspecs[key]===subspec.spec_id}"  後面為true就顯示該class

所以基本上,angularJS中ng-class的實現就這三種方式~

ng-class改變css樣式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.