[英]function doesn't return variable
這個非常簡單而愚蠢的問題,但是我已經被困在兩兩天了。 我必須從服務器等接收數據,並且編寫了簡單的函數,所以這個家伙
$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;
};
謝謝,為檢查調試器的每一步提供建議
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.