簡體   English   中英

函數不返回變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM