这个非常简单而愚蠢的问题,但是我已经停留了两两天了。我必须从服务器或其他任何设备接收数据,并且编写了简单的功能,所以这个家伙
$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);
}}
对于愚蠢的问题,愚蠢的答案
我在这样的范围内的push函数中插入了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;
};
谢谢,为检查调试器的每一步提供建议
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句