Angularjs 输入类型=";“范围”;当我将其添加到ng重复中时会突然移动
我有一个具有3个值的变量Angularjs 输入类型=";“范围”;当我将其添加到ng重复中时会突然移动,angularjs,Angularjs,我有一个具有3个值的变量$scope.values。对于每个值,我都会创建一个滑块。基本上,每个滑块的最大值是项的值。value,最小值始终为2,当前值为最高值。但我不知道为什么我会有这种奇怪的行为。您无法流畅地移动滑块 我怎样才能解决这个问题?多谢各位 {{item.value}} var myApp=angular.module('myApp',[]); myApp.controller('CalcCtrl',函数($scope){ $scope.values= [ {“值”:30},
$scope.values
。对于每个值,我都会创建一个滑块。基本上,每个滑块的最大值是项的值。value
,最小值始终为2,当前值为最高值。但我不知道为什么我会有这种奇怪的行为。您无法流畅地移动滑块
我怎样才能解决这个问题?多谢各位
{{item.value}}
var myApp=angular.module('myApp',[]);
myApp.controller('CalcCtrl',函数($scope){
$scope.values=
[
{“值”:30},
{“值”:50},
{“值”:1}
//当前值=是item.value
//最大值为item.value
//最小值为2。
]
您的ng型号
值和max
值不应相同。因为如果max
值为50,而ng型号
值为50,则应显示100%。
试试这个
<input type='range' ng-model="item.value" max="100" min="2" value="{{item.value}}">
{{item.value}}
问题在于,您使用的最大值与实际值相同,因此每次调整时,最大值都会发生变化。您可以通过检查dom看到这一点。相反,您应该有如下内容:
html
<div ng-controller="CalcCtrl">
<div ng-repeat="item in values">
<input type='range' ng-model="item.value" max="{{item.max}}" min="2">
<span>{{item.value}}</span>
</div>
</div>
您的
max
和value
绑定到item.value
,因此如果您更改该值,它会更改max并使其等于它。您只能将其递减。因此,添加另一个变量$scope.max=90;
并更改max={max}
@yavg,Aleksey
评论和我的答案对你的问题有效。请回答mark as answer/upvote@AlekseySolovey谢谢,但是我需要知道最大值是否等于每个输入范围的item.value。我如何解决它?我不会创建变量{max}每人one@yavg它们是有界的,不能分开。考虑用一个新的模型复制-<代码> $范围。max [i] =角。拷贝($Simult.ItIs[I]值)适用于一个区域中的每个范围loop@yavg请看1+1=2我们无法正确更改它?就像如果最大值和实际值相同,那么结果应该是100%,这就是您现在得到的结果。谢谢,但我需要知道最大值是否等于每个输入范围的item.value。我如何解决它?我不会创建变量{max}每人one@yavg奇怪!请考虑一下逻辑意义。如果最大值和实际值相同,那么结果应该是显示完整范围。您要求我们像请将世界计算到1+1=4
。只是开玩笑而已
<div ng-controller="CalcCtrl">
<div ng-repeat="item in values">
<input type='range' ng-model="item.value" max="{{item.max}}" min="2">
<span>{{item.value}}</span>
</div>
</div>
var myApp = angular.module('myApp', []);
myApp.controller('CalcCtrl', function ($scope) {
$scope.values=
[
{ "value":30, "max": 30},
{ "value":50, "max": 50},
{ "value":1, "max": 1}
//current value= is item.value
//max value is item.value
//min value is 2.
]
});