Ng-show на основе значения, присутствующего в массиве
Как показать vlaue в angularjs ng-show, например
ng-show = "role in ['admin', 'user', 'buyer']"
нужно показать div, если роль - это любая из вещей в этом массиве.
Ответы
Ответ 1
Используйте функцию indexOf
в массиве, чтобы определить, является ли элемент частью массива. Он вернет позицию элемента, если он найдет или вернет -1.
Итак, вы можете использовать выражение типа
ng-show = "['admin', 'user', 'buyer'].indexOf(role)!=-1"
для отображения/скрытия данных
Ответ 2
Или используя loDash _. содержит.
Для доступа в область видимости требуется loDash.
var app = angular.module('myApp', []);
app.run(function($rootScope){
$rootScope._ = _;
});
ng-show = "_.contains(['admin', 'user', 'buyer'], role)"