亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

AngularJS ngClass有條件

AngularJS ngClass有條件

犯罪嫌疑人X 2019-08-29 09:10:02
AngularJS ngClass有條件是否有任何方法可以表達類似ng-class條件的東西?例如,我嘗試了以下內容:<span ng-class="{test: 'obj.value1 == \'someothervalue\''}">test</span>這段代碼的問題在于,無論是什么obj.value1,類測試總是應用于元素。這樣做:<span ng-class="{test: obj.value2}">test</span>只要obj.value2不等于真值,該類就不適用?,F在我可以通過這樣做來解決第一個例子中的問題:<span ng-class="{test: checkValue1()}">test</span>當checkValue1函數如下:$scope.checkValue1 = function() {   return $scope.obj.value === 'somevalue';}我只是想知道這ng-class是否應該如何工作。我也在構建一個自定義指令,我想做類似的事情。但是,我找不到一種觀察表達的方法(也許這是不可能的,也就是它的工作原理)。這是一個展示我的意思的plnkr。
查看完整描述

3 回答

?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

你的第一次嘗試幾乎是正確的,它應該沒有引號。

{test: obj.value1 == 'someothervalue'}

這是一個plnkr。

ngClass指令將適用于任何計算truthy或falsey的表達式,有點類似于Javascript表達式但有一些差異,你可以在這里閱讀。如果你的條件過于復雜,那么你可以使用一個返回真或假的函數,就像你在第三次嘗試時那樣。

只是為了補充:你也可以使用邏輯運算符來形成邏輯表達式

ng-class="{'test': obj.value1 == 'someothervalue' || obj.value2 == 'somethingelse'}"



查看完整回答
反對 回復 2019-08-29
?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

Angular JSng-class Directive中提供此功能。您可以在其中放置條件并分配條件類。您可以通過兩種不同的方式實現此目的。

輸入1

<div ng-class="{0:'one', 1:'two',2:'three'}[status]"></div>

在此代碼類中將根據狀態值的值應用

如果狀態值為0然后應用類一個

如果狀態值為1然后應用類2

如果狀態值為2,則應用第3


類型2

<div ng-class="{1:'test_yes', 0:'test_no'}[status]"></div>

在哪個類中將按狀態值應用

如果狀態值為1或true,則它將添加類test_yes

如果狀態值為0或false,則它將添加類test_no


查看完整回答
反對 回復 2019-08-29
  • 3 回答
  • 0 關注
  • 861 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號