我有两个按钮,一个用于递增,另一个用于递减我的范围。
我要:Min。数字= 0和最大数字= 50。
我已经尝试过了:
myApp.controller('StepCtrl', function($scope, $timeout, $state, $stateParams) {
$scope.event = {
priceid: 0,
}
if ($scope.event.priceid === 0) {
console.log("This is 0")
$scope.nextPrice = function() {
$scope.event.priceid += 5;
}
$scope.previousPrice = function() {
$scope.event.priceid = 0;
}
} else if ($scope.event.priceid === 50) {
console.log("This is 50")
$scope.nextPrice = function() {
$scope.event.priceid = 50;
}
$scope.previousPrice = function() {
$scope.event.priceid -= 5;
}
} else {
console.log("This is into 0 and 50")
$scope.nextPrice = function() {
$scope.event.priceid += 5;
}
$scope.previousPrice = function() {
$scope.event.priceid -= 5;
}
}
})
但是,我可以具有-40或95这样的值,我认为我的“ If”和“ Else”将被忽略。
你有主意吗?
谢谢您的回复。 :)
最佳答案
我将必须看到完整的控制器才能获得完整的图片。但是我相信问题在于,您的表达式在启动时会被评估一次,而不是实时进行评估。
我的解决方案是用此替换if-else语句。
$scope.event = {
priceid: 0,
}
$scope.nextPrice = function() {
if($scope.event.priceid < 50)
$scope.event.priceid += 5;
}
$scope.previousPrice = function() {
if($scope.event.priceid > 0)
$scope.event.priceid -= 5;
}
这样,每次调用$ scope.previousPrice()或$ scope.nextPrice()时,您的条件都会被评估,而不是在运行时分配给那些方法。
关于javascript - AngularJS-限制增量和减量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38100086/