自定义指令: 权限指令

// v-allow 指令, 值与路由meta字段对比, 绑定的内容显示与否
Vue.directive('allow', {
  inserted: (el, binding, vnode) => {
    let permissionList = vnode.context.$route.meta.permission
    if(!permissionList.includes(binding.value)){
      el.parentNode.removeChild(el)
    }
  }
})

// 使用

<a @click="upload" v-allow="'3'"></a> /* 3代表一个上传权限的ID,权限中有3则显示按钮 */