相信很多人在用Vue使用別人的組件時,會用到 Vue.use() 褐着。例如:Vue.use(VueRouter)、Vue.use(MintUI)。但是用 axios時蕾总,就不需要用 Vue.use(axios),就能直接使用幸海。那這是為什么吶蜜自?因?yàn)?axios 沒有 定義install方法,Vue.use(XX)方法是專門用來執(zhí)行作為參數(shù)的XX組件里面定義的 install方法,如果該組件沒有install方法司澎,則Vue.use失效欺缘。
image.png
- 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調(diào)用(我這里是print.js調(diào)用),Vue.use方法是執(zhí)行作為參數(shù)的vue組件mycomponent1里面定義的 install方法
import Vue from "vue"
import mycomponent1 from "./mycomponent.js"
Vue.use(mycomponent1)
其實(shí)與vue自定義組件是一樣的蛤铜,只不過自定義組件多了一對函數(shù)嫩絮,即:Vue.use()和install