2016-03-29 9 views
1

Ich möchte Benutzer Angulars ng-pluralize verwenden, um ein Element so zu verbergen/anzeigen/ändern, dass der Wert 0 ist, sollte das Element ausgeblendet werden (wie in oder ng-if="value != 0").ng-pluraleize Element ausblenden, wenn Wert 0 (Null) ist

Wenn der Wert 1 ist, sollte das Element einen Text haben, und wenn es mehr als 1 ist, sollte es einen Text haben. Der Wert kann niemals negativ sein. Deshalb möchte ich ng-pluralize verwenden.

Meine Frage ist; können Sie ng-pluralize verwenden, um dies zu tun, ohne das Element in ein anderes Element nur dafür zu setzen?

Antwort

2

Verwenden Sie eine Kombination von ng-hide und ng-pluralize innerhalb des gleichen Elements

var module = angular.module('myApp', []); 
 
module.controller('mainController', function($scope) { 
 
    //$scope.personCount = 0; 
 
    $scope.personCount = 1; 
 
    //$scope.personCount = 2; 
 
});
.myEl { 
 
    background-color: grey; 
 
    width: 100%; 
 
    height: 25px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="mainController"> 
 
    <ng-pluralize ng-if="personCount > 0" class="myEl" count="personCount" when="{'0': 'Nobody is viewing.', 
 
        'one': '1 person is viewing.', 
 
        'other': '{} people are viewing.'}"> 
 
    </ng-pluralize> 
 
</div>

+0

Vielen Dank für eine tolle Antwort! – BluePrint

+0

Danke, ich denke, es wird viele Probleme mit der Anzeige lösen. –

Verwandte Themen