我有ng-class的问题。如果角色具有管理员权限,则添加类禁用状态。现在发生错误
HTML:
<label class="toggle modal-label-box" ng-class="{state-disabled: checkCanModify()}">
<input type="radio" name="radio-toggle" ng-model="role" value="guest">
<i data-swchon-text="ON" data-swchoff-text="OFF"></i>No role
</label>
JS:
$scope.checkCanModify = function() {
return ($scope.role == "admin" ? true : false);
};
错误:
Syntax Error: Token '-' is at column {2} of the expression [{3}] starting at [{4}].
我如何解决这个问题? 此致
答案 0 :(得分:4)
在课堂上加上引号:
"{'state-disabled': checkCanModify()}"
答案 1 :(得分:0)
当您使用对象表示法时使用ngClass
指令,就像使用任何普通的javascript对象一样,属性名称就是有效的标识符。如果不是,你必须用引号括起来:
ng-class="{'state-disabled': checkCanModify()}"
答案 2 :(得分:0)
<label class="toggle modal-label-box" ng-class="{'state-disabled': role=='admin'}">
<input type="radio" name="radio-toggle" ng-model="role" value="guest">Guest
<input type="radio" name="radio-toggle" ng-model="role" value="admin">Admin
<i data-swchon-text="ON" data-swchoff-text="OFF"></i>No role
</label>
如果角色是admin,则会添加“禁用状态”类。如果我们错过了将单引号放在'状态禁用'周围,它会抛出你得到的错误。或者我们可以简单地给出状态选择,没有连字符。