網上太多寫法都是錯的,本人親測后,如下寫法有效,依然需要一個install的函數:
組件:
<template> <div> 我是組件 </div> </template> <script> export default { } </script> <style scoped> div{ font-size:40px; color:#fbb; text-align:center; } </style>
注冊JS:
import component1 from './myComp.vue' import Vue from 'vue' let componentss={}; componentss.install =()=>{ Vue.component('component-name',component1) } // 導出該組件 export default componentss
使用:
import loading from '../components/register'
Vue.use(loading)
<template>
<div>
<component-name></component-name>
</div>
</template>
參考了vue的官方install說明和vant組件庫的toast源碼,其實就是包裝了一下已有的組件,它里面可以一次封裝多個組件,讓你不用一直注冊在component里面了,
比如你又要一個組件,就在register里面這么添加:
componentss.install =()=>{ Vue.component('component-name',component1) Vue.component('component-name2',component2) }
然后用就直接寫就行了:
<template> <div> <!-- <van-button type="default">默認按鈕</van-button> <div id="myChart" style="width: 600px;height:400px;"></div> --> <!-- <cdn-test></cdn-test> --> <component-name></component-name> <component-name2></component-name2> <!-- <myCompPlugin></myCompPlugin> --> </div> </template>