我坚持使用否定布尔值,
参考以下代码
<label>Click me to toggle: <input type="checkbox" ng-model="!checked"></label><br/>
<button ng-model="button" ng-disabled="!checked">Button</button>
如果我使用上面的[ngModel:nonassign]错误抛出
如何为ng-model值绑定negote布尔表达式?
提前致谢
答案 0 :(得分:0)
使用AngularJS 1.3+,您可以使用ng-true-value
和ng-false-value
。这将扭转价值。
var app = angular
.module('app', [])
.controller('ctrl', function($scope) {
$scope.checked = true;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
<label>
Click me to toggle:
<input type="checkbox" ng-model="checked" ng-true-value="false" ng-false-value="true">
</label>
<button ng-model="button" ng-disabled="!checked">Button</button>
</div>
答案 1 :(得分:-1)
尝试使用ng-disabled
标记而非启用。您无法设置ng-model="!checked"
,因为模型变量必须是变量,不能包含表达式。您可以调整ng-disabled
标记内的条件。请检查代码段。
<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.bootcss.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<label>Click me to toggle:
<input type="checkbox" ng-model="checked">
</label>
<br/>
<button ng-model="button" ng-disabled="checked">Button</button>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope) {
});
</script>
</body>
</html>
&#13;
的文档