如何使用 AngularJS 的 if 语句输入范围内的值?
How to use values from range input into if statement with AngularJS?
我有一个可以改变音量的滑块。我还有一个按钮,每次单击它时都会将 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 上发布的代码(发布在这里,因为您在问题中发布的代码没有提供足够的上下文);
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.count == $scope.data.volume
一次。您的代码没有说明您需要在值实际发生变化时进行检查的事实。您需要使用 $scope.$watchCollection
.
如果使用 Angular > 1.2(看起来你来自你的代码笔)...
$scope.$watchCollection('[count,data.volume]',function() {
if ($scope.count == $scope.data.volume) {
alert('finished')
}
});
请注意,$scope.$watchCollection
的第一个参数 不是 数组 - 它是一个看起来有点像数组的字符串。
我有一个可以改变音量的滑块。我还有一个按钮,每次单击它时都会将 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 上发布的代码(发布在这里,因为您在问题中发布的代码没有提供足够的上下文);
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.count == $scope.data.volume
一次。您的代码没有说明您需要在值实际发生变化时进行检查的事实。您需要使用 $scope.$watchCollection
.
如果使用 Angular > 1.2(看起来你来自你的代码笔)...
$scope.$watchCollection('[count,data.volume]',function() {
if ($scope.count == $scope.data.volume) {
alert('finished')
}
});
请注意,$scope.$watchCollection
的第一个参数 不是 数组 - 它是一个看起来有点像数组的字符串。