2016-03-29 5 views
1

Я хотел бы использовать Angulars ng-pluralize, чтобы скрыть/показать/изменить элемент таким образом, чтобы значение равно 0, элемент должен быть скрыт (как в ng-hide="value == 0" или ng-if="value != 0").ng-pluralize hide element, когда значение равно 0 (ноль)

Когда значение равно 1, элемент должен иметь один текст, а если он больше 1, он должен иметь один текст. Значение никогда не может быть отрицательным. Вот почему я хочу использовать ng-pluralize.

Мой вопрос: можете ли вы использовать ng-pluralize, чтобы сделать это, не вкладывая элемент в другой элемент только для этого?

ответ

2

Используйте комбинацию нг скрытия и нг-множественное число в пределах одного элемента

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

Спасибо за большой ответ! – BluePrint

+0

Спасибо, я думаю, это решит многие проблемы, связанные с просмотром. –