vue怎么判断当前用户能否看到这个按钮?

我现在要做这么一个功能

clipboard.png

每次登陆后后端会返回当前用户的权限给我:

"permissions": [
    "account:update",
    "account:list",
    "account:findById",
    "adveradvertiser:add"
],

我会把这些数据存到localStore里,这个“创建广告主”按钮我会根据后端给我的数据是否含有"adveradvertiser:add",如果有就显示,没有就隐藏。

首先我想到的是v-if ,但是这里我不知道怎么去循环判断permissions数组是否含有adveradvertiser:add

<button class="btnYellow" v-if="">创建广告主</button>
阅读 3.5k
3 个回答

不用把权限存到缓存中,你放在data中就行
js

data() {
      return {
          permissions: [
                "account:update",
                "account:list",
                "account:findById",
                "adveradvertiser:add"
            ],
      }
}

html

v-if="permissions.indexOf('adveradvertiser:add') > 0?true:false "

js

data() {
      return {
          permissions: [
                "account:update",
                "account:list",
                "account:findById",
                "adveradvertiser:add"
            ],
      }
}

html

 v-if="permissions.some(p=>p==='adveradvertiser:add')"

写个方法判断一下数组中是否含有 adveradvertiser:add 这个字符串。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题