相信很多人在用Vue使用别人的组件时,会用到 Vue.use() 。例如:Vue.use(VueRouter)、Vue.use(MintUI)。但是用 axios时,就不需要用 Vue.use(axios),就能直接使用。那这是为什么呐?因为 axios 没有 定义install方法,Vue.use(XX)方法是专门用来执行作为参数的XX组件里面定义的 install方法,如果该组件没有install方法,则Vue.use失效。
- mycomponent.vue
<template>
<div>mycomponent</div>
</template>
<script>
export default {}
</script>
<style></style>
- mycomponent.js 声明mycomponent 对象,赋予install方法,注册全局组件
import component from "./mycomponent.vue"
const mycomponent = {
install: function(Vue,options) {
Vue.component("mycomponent", component)
},
}
export default mycomponent
- main.js或其他js调用(我这里是print.js调用),Vue.use方法是执行作为参数的vue组件mycomponent1里面定义的 install方法
import Vue from "vue"
import mycomponent1 from "./mycomponent.js"
Vue.use(mycomponent1)
其实与vue自定义组件是一样的,只不过自定义组件多了一对函数,即:Vue.use()和install