今天,在群里看到有朋友問這樣一個問題:“我在項目里,怎么能做一個全局調用的組件,不用每一次都import,注冊組件?”看到這個問題,我思考了一下,講一下我的思路!
這個問題里,所說的組件,在我看來也可以叫做“插件”,為什么這么說呢?因為這個和vue-resource之類的插件開發的思路是一樣的?只是一個放到的是本地,一個是通過“npm install vue-resource ”下載下來的?換一個思路,如果我把自己開發的組件放到網上,是不是別人可以直接用我開發的插件呢?回答是:“必須的”!
所以我就來做一個公共的組件:同樣的開發環境vue-cli;這個就不說了!!!
1.新建alerts.vue和alerts.js文件
alerts.vue
<template>
<div class="alerts">
<h2>開發自定義組件//公共組件可直接在任意地方調用</h2>
<button @click="clicks()">點擊我試一下</button>
</div>
</template>
<script>
export default {
data() {
return {}
},
methods:{
clicks(){
alert("我是公共的組件!(插件)")
}
},
}
</script>
這個很簡單!接下來是重頭戲了!
alerts.js
const alertsComponent = require('./alerts.vue'); //引入
const alerts = {
install: function(Vue) {
Vue.component('alerts', alertsComponent)
}
};
module.exports = alerts;
此處注意文件的路徑,不要弄錯了;
2.在main.js里引用,和調其他插件的方法一樣
main.js
import alerts from './components/alerts/alerts' //注意路徑
Vue.use(alerts);
3.調用方法
<alerts></alerts>
在任意組件里調用,均可!
我的github,如果有用,不要吝嗇,請給個star;在里面可以找到此例子的源碼哦!
https://github.com/sky-xsk/vue2.0-start-
如有錯誤,請指正!