显示角度(如果在数组中)

马可

我对文章评论有一个ng-repeat,看起来像这样:

<div ng-repeat="comment in comments">
          <li class="item" ng-class-even="'even'">
            <div class="row">
              <div class="col">
                <i class="icon ion-person"></i> {{ comment.user.first_name }} {{ comment.user.last_name }}
                <i class="icon ion-record"></i> {{ comment.created_at }}
              </div>
              <!-- TODO: this needs to be an ng-if admin -->
              <div ng-show="hasRole(comment.user)" class="col right">
                <i class="icon ion-record admin"></i> Admin
              </div>
            </div>
            <div class="row">
              <div class="col">
                <p>{{ comment.text }}</p>
              </div>
            </div>
          </li>
        </div>

我仅在用户是管理员的情况下才尝试显示此部分:

<div ng-show="hasRole(comment.user)" class="col right">
                <i class="icon ion-record admin"></i> Admin
              </div>

我试图按照这里的答案进行设置

所以我在控制器中做了一个函数:

 $scope.hasRole = function(roleName) {
    return $scope.comments.user.roles.indexOf(roleName) >= 0;
  }

但是,即使用户是管理员,每次也会返回-1。我的数据如下所示:

1:Object
    $$hashKey: "object:28"
    article_id:"2"
    created_at:"2016-05-12 12:19:05"
    id:6
    text:"someCommentText"
    updated_at:null
    user:Object
        active:"1"
        created_at:null
        first_name:"admin"
        id:1
        last_name:"admin"
        roles:Array[1]
            0:Object
            created_at:null
            id:1
            name:"Admin"
            parent_id:null
            pivot:Object
            slug:"admin"
哈姆雷特(Hamlet Hakobyan)

在HTML中使用它

<div ng-show="hasAdminRole(comment.user.roles)" class="col right">
    <i class="icon ion-record admin"></i> Admin
</div>

这是确定用户是否属于管理员角色的方法。

$scope.hasAdminRole = function(roles) {
    var isAdmin = false;
    for(var i = 0; i < roles.length; i++) {
        if (roles[i].name == 'Admin') {
            isAdmin = true;
            break;
        }
    }

    return isAdmin;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我怎么能告诉我们,如果在数组列表中的元素相同或不同?

如果在数组搜索中未找到要打印用户输入的语句

如果在数组中找不到匹配项,则返回第一个元素

如果在数组中找到匹配的值,则返回True

如果在数组中未找到,perl删除哈希项

如果在数组中找到值,如何在不同级别上输出键

如果在角度6中使用formGroup,则会显示一些错误

jQuery如果在数组中但排除一些字符串

PySpark:如果在数据帧中的链中,如何处理“其他”?

如果在数组中找到匹配项,则删除单行

如果在Ruby上匹配条件,如何在数组内部创建数组?

PHP插入简写,如果在数组内:

如果在数组中输入的数据小于零,我正在尝试创建错误消息,请输入验证

如果在数组中找不到任何内容,为什么此循环会导致崩溃

AngularJS显示元素(如果在数组中)

如果在Java中 如果在C ++中

如果在数组内添加键和值

JS /流星:如果在数组中找到字符串,则返回“ checked”

如果在数组中不匹配,则从字符串中删除字符串字符

如果在_posts /目录中,则图像不显示

如果在数组中存在两个相等的元素,则定义true或false

jQuery添加元素,如果在数组中找不到

如何删除变量的字符串,如果在数组中检查它后,它与数组键不匹配?

如果在 php 中获得重复值,则在数组中添加值

如果在数组中找到值,则切换列

如果在数组中找不到值,则返回 NULL

如果在某些关键javascript中具有相同的值,则显示数组

如果在数组中,则将所选属性添加到下拉列表项

这是一个搜索数字的程序,如果在数组中找到,还显示其索引位置