$scope.myTar = function() {
return 5;
};
$scope.identity = angular.identity;
$scope.range = function(min, max, step){
step = Math.floor((max+5)/3);
var input = [];
for (var i = min; i < max+5; i += step)
input.push(i);
input.push($scope.myTar());
return input;
};
和这个家伙
<div ng-repeat="n in range(0, gauge.gaugeData.target) |orderBy:identity">
<div ng-class="{ 'numberGaugeBar-goal': n == myTar() }"></div>
<div class="numberGaugeNumbers-hashHolder"></div>
<div class="numberGaugeNumbers-numberHolder"> {{n}} </div>
</div>
返回我的数字5并将其推入我的范围
如果我使用这个人
$scope.myTar = function(target) {
$log.debug('['+target+']')
};
它在控制台上返回我所有必要的值 但如果我用这个人
$scope.myTar = function(target) {
return target;
};
和
<div ng-repeat="n in range(0, gauge.gaugeData.target)|orderBy:identity">
<div ng-class="{ 'numberGaugeBar-goal': n == myTar(gauge.gaugeData.target) }"></div>
<div class="numberGaugeNumbers-hashHolder"></div>
<div class="numberGaugeNumbers-numberHolder"> {{n}} </div>
</div>
它在控制台目标中返回我未定义,出了什么问题?
gaugeData来自其他函数LoadGaugesData 我试图将这部分代码输入myTar函数,但它仍然显示我同样的事情。另外你可以看到我的范围是使用gaugeData.target,它工作正常...... 这是它的一部分
for (var idx in $scope.sectionDescriptives.scoreSections) {
section = $scope.sectionDescriptives.scoreSections[idx];
for (var gaugeIdx in section.gauges) {
var gauge = section.gauges[gaugeIdx];
var gaugeData = $scope.getGaugeData(gauge.id);
gauge.gaugeData = gaugeData;
gauge.target = gaugeData.target;
section.gauges[gaugeIdx].gaugeData = $scope.getGaugeData(gauge.id);
}}
答案 0 :(得分:0)
愚蠢的问题,愚蠢的回答
我在我的推送功能范围内插入了max 像这样
$scope.range = function(min, max, step){
step = Math.floor((max+5)/3);
var input = [];
for (var i = min; i < max+5; i += step)
input.push(i);
input.push(**max**);
return input;
};
谢谢,建议检查调试器中的每一步