ng-show基于数组中存在的值

时间:2014-07-02 07:29:43

标签: javascript angularjs

如何在angularjs ng-show中显示值

ng-show = "role in ['admin', 'user', 'buyer']"

需要显示div if if role是该数组中的任何内容。

2 个答案:

答案 0 :(得分:43)

使用数组中的函数indexOf来查找元素是否是数组的一部分。它将返回元素的位置(如果找到)或将返回-1。

所以你可以使用像

这样的表达式

ng-show = "['admin', 'user', 'buyer'].indexOf(role)!=-1"显示/隐藏数据

答案 1 :(得分:4)

或使用loDash _.contains

需要在范围内访问loDash。

var app = angular.module('myApp', []);
app.run(function($rootScope){
    $rootScope._ = _;
});

ng-show = "_.contains(['admin', 'user', 'buyer'], role)"