我試圖做角是這樣的:如何將條件添加到表達式中AngularJS
你搜索發現{{searchResults.iTotalRecords> 0,0}}的結果。
當然,這不起作用,但你明白了。如果我的對象是一個整數,我該如何檢查該值是否大於零,否則將其設置爲0?
謝謝。
我試圖做角是這樣的:如何將條件添加到表達式中AngularJS
你搜索發現{{searchResults.iTotalRecords> 0,0}}的結果。
當然,這不起作用,但你明白了。如果我的對象是一個整數,我該如何檢查該值是否大於零,否則將其設置爲0?
謝謝。
如果您只想更改數據的表示而不更改應用程序中的底層(實際)數據,則自定義角度過濾器非常適合此目的。
下面是您的用例的一個示例過濾器。你可以把任何其他的邏輯放在你的過濾器中。
HTML:
<p>Your search found {{searchResults.iTotalRecords | resultCountFilter}} results.</p>
的Javascript:
angular.module('app', []).filter('resultCountFilter', function() {
return function (resultCount) {
return resultCount > 0 ? resultCount : 0;
};
});
這裏有一個的jsfiddle:Understanding Angular Filters
要做到這一點,你可以只用你的$範圍功能:
app.controller('MainCtrl', function($scope) {
$scope.foo = function() {
return $scope.searchResults.iTotalRecords > 0 ? $scope.searchResults.iTotalRecords : 0;
};
});
而且在你的標記:
<span>{{foo()}}</span>
編輯:100%的標記方法...
<span ng-show="searchResults.iTotalRecords > 0">{{searchResults.iTotalRecords}}</span>
<span ng-show="searchResults.iTotalRecords <= 0">0</span>
:在過濾器http://jsfiddle.net/alexross/ZN87E/
AngularJS文檔謝謝Blesh,但如果可能的話,我試圖在標記中做到這一點。有沒有辦法做到這一點? –
正如你所願...看到更新的答案 –
真棒,謝謝Blesh! –
感謝Aleross,但我試圖避免爲此編寫一個控制器,因爲我認爲它應該由表示層處理。 –
結束了使用過濾器,像一個魅力,感謝Aleross! –
沒問題!很高興它解決了 –