vue定义全局变量和全局方法的方法

2021-04-25

定义全局方法的js

// @/js/verifyPermissions.js
// 在单独的js中使用路由
import router from '@/router'
function verifyPermissions(permissions) {
  let user_role = JSON.parse(localStorage.getItem("token"))['power']
  let permis = permissions.split(',');
  let result = true;
  permis.forEach(item => {
      if (user_role.indexOf(Number(item)) == -1) {
          result = false;
          return false;
      }
  });
  if (result == false) {
      router.push({
        path: '/Index'
      })
  }
}

export default {
  // 暴露出属性和方法
  verifyPermissions
}

在main.js引入 并且挂载到prototype原型上

import verifyPermissions from '@/js/verifyPermissions.js';
Vue.prototype.$global = verifyPermissions;

在其他文件中使用

this.$global.verifyPermissions('106')

全局方法可用,全局属性没有尝试过

方法来源于:https://www.jb51.net/article/144879.htm,https://www.jianshu.com/p/b55a7c6dcf17

{/if}