這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)vue中怎么自定義全局組件,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)長期為成百上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為柳北企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站建設(shè),柳北網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
Vue.use( plugin ):安裝 Vue.js 插件。如果插件是一個對象,必須提供 install 方法。如果插件是一個函數(shù),它會被作為 install 方法。install 方法將被作為 Vue 的參數(shù)調(diào)用。
當 install 方法被同一個插件多次調(diào)用,插件將只會被安裝一次。
Vue.js 的插件應(yīng)當有一個公開方法 install 。這個方法的第一個參數(shù)是 Vue 構(gòu)造器,第二個參數(shù)是一個可選的選項對象:
MyPlugin.install = function (Vue, options) { // 1. 添加全局方法或?qū)傩? Vue.myGlobalMethod = function () { // 邏輯... } // 2. 添加全局資源 Vue.directive('my-directive', { bind (el, binding, vnode, oldVnode) { // 邏輯... } ... }) // 3. 注入組件 Vue.mixin({ created: function () { // 邏輯... } ... }) // 4. 添加實例方法 Vue.prototype.$myMethod = function (methodOptions) { // 邏輯... } }
通過全局方法 Vue.use() 使用插件:
// 調(diào)用 `MyPlugin.install(Vue)` Vue.use(MyPlugin)
也可以傳入一個選項對象:
Vue.use(MyPlugin, { someOption: true })
Vue.use 會自動阻止多次注冊相同插件,屆時只會注冊一次該插件。
Vue.js 官方提供的一些插件 (例如 vue-router) 在檢測到 Vue 是可訪問的全局變量時會自動調(diào)用 Vue.use()。然而在例如 CommonJS 的模塊環(huán)境中,你應(yīng)該始終顯式地調(diào)用 Vue.use():
// 用 Browserify 或 webpack 提供的 CommonJS 模塊環(huán)境時 var Vue = require('vue') var VueRouter = require('vue-router') // 不要忘了調(diào)用此方法 Vue.use(VueRouter)
實例:實現(xiàn)一個children組件
在main.js中使用該組件的方法:
import childModule from './components/children' Vue.use(childModule)
組件文件夾的目錄結(jié)構(gòu)如下:
|-components |-children |-index.js 導(dǎo)出組件,并且install |-children.vue (定義自己的組件模板)
children.vue代碼如下:
import childrencomponent from './children.vue' const childrenMo = { install:function(Vue){ Vue.component('childModule',childrencomponent) } } export default childrenMo
上述就是小編為大家分享的vue中怎么自定義全局組件了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
標題名稱:vue中怎么自定義全局組件
本文URL:http://jinyejixie.com/article40/iisgeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、微信小程序、Google、定制網(wǎng)站、網(wǎng)站收錄、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)