2015-10-29 46 views
0

當值{{reservoir}}大於100時,如果顯示小於100的值,則顯示圖標。當超過100%時顯示符號

<div class="water-box-label text-center" ng-if="reservoir>100"> 
    <div> 
     <i class="fa fa-exclamation-triangle"></i> 
    </div> 
    {{reservoir}} 
    <h5> 
     <p>{{reservoir_value}} m&sup3</p> 
    </h5> 
</div> 

控制器

$scope.reservoir = $scope.updateWaterLevel(value, "watertank"); 
$scope.reservoir_value = ($scope.reservoir.split("%")[0]*1000)/100; 
$scope.updateWaterLevel = function (value, elementID) { 
    var waterBox = document.getElementById(elementID); 
    waterBox.style.height = value.INFO + '%'; 
    if (value.INFO < 15) { 
     waterBox.style.background = '#c0392b'; 
    }else if(value.INFO > 100){ 
     waterBox.style.height = 0; 
    } else { 
     waterBox.style.background = '#3498db'; 
    } 
    return value.INFO + ' %'; 
}; 
+1

顯示處理該邏輯的控制器。 – Dayan

+0

所以你已經有了一個'ng-if'。具體問題是什麼?預期的結果是什麼? – charlietfl

+0

當坦克超過100%時,應該出現圖標,但是不顯示任何東西 – changez

回答

1

首先,被分配之前$scope.updateWaterLevel被調用。如果您想將其保存在控制器的底部,請將其更改爲功能聲明,該聲明將被懸掛並可從控制器的頂部調用。

$scope.updateWaterLevel = updateWaterLevel; 
... 
function updateWaterLevel(value, elementID) { 
    ... 
} 

其次,ng-if被進行比較的數字100對初始化爲value.INFO + ' %'字符串reservoir。嘗試將reservoir作爲數字並在視圖中添加'%'。

+0

我已經提出了你的建議,因爲離開水庫的時候有int,並且在'%'中加入'%'查看結果是一樣的,如果它在以前的版本中,它什麼也不顯示 – changez

+0

確保在調用$ scope.updateWaterLevel之前分配了哪些內容?如果你創建了一個plunker或jsfiddle,它會有所幫助 – sheilak

+0

你的建議不工作,繼續顯示空白,也嘗試使用ng-show而不是ng-if但它不能識別變量 '

Erro
{{waterLevelR1_1}}

{{waterLevelR1_1_value}} M&sup3時

' – changez

相關問題