似乎在IE中,如果您真的快速选中/取消选中一个复选框,就不会赶上最后一个被调用的函数。
我有这段代码可以在Chrome上正常运行,但是在IE中,它只会丢失实际值。
vm.total
单击时应增加或减少1。左侧为Chrome,右侧为IE(不要紧迫,我已经在屏幕截图的另一端完成了此操作):
有什么方法可以阻止或提高IE的反应速度吗?
angular.module('app',[])
.controller('mainCtrl', function() {
var vm = this;
vm.total = 0;
vm.isSelected = false;
vm.addSubtractOne = function() {
if(vm.isSelected) {
vm.total += 1;
} else {
vm.total -= 1;
}
console.log(vm.total);
}
})
<html ng-app="app">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.5/angular.min.js"></script>
</head>
<body>
<div ng-controller="mainCtrl as vm">
<form>
<input type="checkbox" name="alertsFilter" id="alertsFilter" ng-value="1" ng-model="vm.isSelected" ng-click="vm.addSubtractOne()">
<label for="alertsFilter">+1</label>
<p ng-bind="vm.total"></p>
</div>
</form>
</div>
</body>
</html>