在下面的代码中,$scope.checkboxModel
设置为 false。当我单击复选框并在第一次单击时调试代码时,选中复选框时它返回 false 而不是 true。
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.showPassword = '';
$scope.password = '';
$scope.checkboxModel = false;
$scope.showHidePassword = function(checkboxModel) {
$scope.showPassword = checkboxModel ? '' : $scope.password;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<div class="input-group bmargindiv1 col-md-12">
<span class="input-group-addon ndrftextwidth text-right" style="width:180px">Password :</span>
<input type="password" name="itemname" id="contactno" class="form-control" placeholder="password" ng-model="password">
</div>
<div class="input-group bmargindiv1 col-md-12">
<span class="input-group-addon ndrftextwidth text-right" style="width:180px">Show me Password <input type="checkbox" ng-model="checkboxModel" ng-click="showHidePassword(checkboxModel)" /></span>
<input type="text" name="itemname" id="contactno" class="form-control" placeholder="password" ng-model="showPassword" readonly="readonly">
</div>
</div>
为什么当复选框被选中时第一次不返回 true?
最佳答案
这是由于版本不匹配而发生的。请参阅下面使用 Angular 1.3.14 的示例
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.showPassword = '';
$scope.password = '';
$scope.checkboxModel = false;
$scope.showHidePassword = function(checkboxModel) {
$scope.showPassword = checkboxModel ? $scope.password : '';
console.log("checkboxModel : " + checkboxModel);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<div class="input-group bmargindiv1 col-md-12">
<span class="input-group-addon ndrftextwidth text-right" style="width:180px">Password :</span>
<input type="password" name="itemname" id="contactno" class="form-control" placeholder="password" ng-model="password">
</div>
<div class="input-group bmargindiv1 col-md-12">
<span class="input-group-addon ndrftextwidth text-right" style="width:180px">Show me Password <input type="checkbox" ng-model="checkboxModel" ng-click="showHidePassword(checkboxModel)" /></span>
<input type="text" name="itemname" id="contactno" class="form-control" placeholder="password" ng-model="showPassword" readonly="readonly">
</div>
</div>
关于javascript - ng-click 中复选框返回 false 而不是 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33039118/