css - AngularJS:条件语句在 Controller 的 Angular JS 方法中不起作用

标签 css angularjs

我有以下代码:

<!DOCTYPE html>
<html data-ng-app>
<head>
<title></title>
<style>
.menu-disabled-true {
color: gray;
}
.menu-disabled-false {
color: red;
}

.menu-disabled-green {
color: green;
}
</style>
</head>
<body >
<script src="angular.min.js"></script>
<script>
function DeathrayMenuController($scope) {
$scope.isDisabled = false;
$scope.stun = function() {
// stun the target, then disable menu to allow regeneration
if($scope.isDisabled == 'false'){
    $scope.isDisabled = 'true';
}else if($scope.isDisabled == 'true'){
       $scope.isDisabled = 'green';
}
};
}
</script>
<div ng-controller='DeathrayMenuController'>
<ul>
<li class='menu-disabled-{{isDisabled}}' ng-click='stun()'>Stun</li>
</ul>
</div></body>
</html>

现在,每当我点击Stun <li>然后我希望它根据 Controller 内部的方法改变颜色。

有人可以帮助我理解为什么它不起作用吗?

最佳答案

问题是您正在比较字符串值和 bool 值。
将声明更改为 'false'(字符串)

$scope.isDisabled = 'false';
$scope.stun = function() {
// stun the target, then disable menu to allow regeneration
if($scope.isDisabled == 'false'){
    $scope.isDisabled = 'true';
}else if($scope.isDisabled == 'true'){
       $scope.isDisabled = 'green';
}
};

关于css - AngularJS:条件语句在 Controller 的 Angular JS 方法中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20262898/

相关文章:

html - 为什么我不能向该 HTML 文档中添加更多段落?

html - 图像未显示在 div 中

javascript - 将鼠标悬停在列表中的元素上时显示菜单

html - 强制元素保持在同一行

c++ - 如何更新样式表的单个属性?

angularjs - 如何使用 angularjs 将对象显示到表格中

javascript - 动态插入嵌套 Controller

javascript - 为什么需要使用 $index 和 "$scope.items[index]"来处理 ng-repeat 中的项目?

javascript - 如何将 Jade 变量分配给 Angular 绑定(bind)

javascript - Angularjs/Ionic App json 解析