vue-element-admin

image.png

const install = function(Vue) {
Vue.directive('permission', permission)
}

if (window.Vue) {
window['permission'] = permission
Vue.use(install); // eslint-disable-line
}
这部分的作用是 引入了 Vue 的话 就直接全局注册指令了

大家帮忙指导一下 红框中的作用是什么?

阅读 1.3k
1 个回答

浅层的作用就是赋值,深层的作用要看用在哪里,联想到Vue和install就要想到Vue.use,Vue.use的主要作用就是:如果参数的install属性是一个函数,则执行参数的install属性,否则,如果参数是一个函数,执行这个参数。

if(typeof plugin.install === 'function') {
    plugin.install.apply(plugin, args);
} else if(typeof plugin === 'function') {
    plugin.apply(null, args);
}

结合上面代码,如果全局有Vue,那么引入这个文件就会注册全局指令,不然的话这个文件导出permission,在需要的文件中自行加载

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