AngularJS:How 我可以根据控制器范围更改 ng-class 三元运算符的值吗?

AngularJS:How can i change value of the ng-class ternary operator as per the controller scope?

我的指令控制器中有以下范围变量,并且我的范围评估了该变量的值是工作日还是周末。如果是工作日,我需要设置 css class .weekDay 到 div 如果是周末,我需要设置 css class 为 .weekEnd。我在指令中使用的以下三元表达式对我不起作用?这里有什么问题,我可以在 ng-class 中评估我的控制器表达式吗?请帮忙。

$scope.toDay = "Monday";
 or 
$scope.toDay ="Sunday"


<div ng-class="{toDay=='Sunday'? 'weekEnd':'weekDay'}"> 

您需要使用比较运算符 === 因此您的代码应如下所示

<div ng-class="toDay === 'Sunday' ? 'weekEnd' : 'weekDay'"> 

试试这个:

$scope.toDay = "Monday";
 or 
$scope.toDay ="Sunday"


<div class="{{toDay==='Sunday'? 'weekEnd':'weekDay'}}"> 
<div ng-class="[today === 'Sunday' ? 'weekend' : 'weekday']">

注意 [] 而不是 {} & === 而不是 =

你实际上并不真的需要使用三元运算符,你只需重构一点并使用...

<div ng-app ng-init="toDay = 'Monday'">
<h1 ng-class="{'weekEnd': toDay == 'Sunday', 'weekDay' : toDay != 'Sunday'}">
      Test Text
  </h1>
</div>

或者按照这些思路进行一些比较