Javascript 如何使用AngularJS将范围输入到if语句中的值?
我有一个可以改变音量的滑块。我还有一个按钮,每次单击时,它都会将Javascript 如何使用AngularJS将范围输入到if语句中的值?,javascript,css,angularjs,input,range,Javascript,Css,Angularjs,Input,Range,我有一个可以改变音量的滑块。我还有一个按钮,每次单击时,它都会将count变量提高1 我写了一个if-语句,如果这两个变量匹配但不起作用,它应该发出警报 if ($scope.count == $scope.data.volume) { alert('finished') } 这里出了什么问题?您的If语句超出了plusOne函数的范围 $scope.plusOne = function() { $scope.count++ } if ($scope.count == $sco
count
变量提高1
我写了一个if
-语句,如果这两个变量匹配但不起作用,它应该发出警报
if ($scope.count == $scope.data.volume) {
alert('finished')
}
这里出了什么问题?您的If语句超出了plusOne函数的范围
$scope.plusOne = function() {
$scope.count++
}
if ($scope.count == $scope.data.volume) {
alert('finished')
}
它将不会工作,直到你包括
$scope.plusOne = function() {
$scope.count++
if ($scope.count == $scope.data.volume) {
alert('finished')
}
}
查看您在codepen上发布的代码(发布在此处,因为您在问题中发布的代码没有提供足够的上下文) 在实例化控制器时,您只需检查一次
$scope.count==$scope.data.volume
。您的代码没有考虑到当值实际发生变化时需要进行检查的事实。您需要使用$scope.$watchCollection
如果使用Angular>1.2(看起来你是从你的代码笔来的)
请注意,
$scope.$watchCollection
的第一个参数不是数组-它是一个看起来有点像数组的字符串。这并不能解释范围滑块可以更改data.volume的值这一事实
angular.module('ionicApp', ['ionic'])
.controller('MyCtrl', function($scope, $timeout) {
$scope.myTitle = 'Template';
$scope.data = { 'volume' : '5' };
$scope.count = 0;
$scope.plusOne = function() {
$scope.count++
}
if ($scope.count == $scope.data.volume) {
alert('finished')
}
});
$scope.$watchCollection('[count,data.volume]',function() {
if ($scope.count == $scope.data.volume) {
alert('finished')
}
});