摘要:查閱資料后發(fā)現(xiàn),自定義的組件需要提供一個(gè)方法提供可選的組件名像這樣引入自己編寫(xiě)好的組件,然后創(chuàng)建一個(gè)對(duì)象,并包含一個(gè)方法,并使用方法注冊(cè)成全局組件,最后導(dǎo)出這個(gè)對(duì)象。
今天解決了一個(gè)長(zhǎng)期困擾著我的問(wèn)題,現(xiàn)在記錄一下,供日后參考。
涉及知識(shí)點(diǎn)是Vue.js官網(wǎng)教程中的插件使用
首先我遇到的問(wèn)題就是我自定義的組件如果需要在項(xiàng)目中其他組件中多次被調(diào)用,而我之前的解決方法就是簡(jiǎn)單的,哪里需要在哪引用。這無(wú)疑增加了許多代碼重復(fù)。
而在使用Vue.js的一些UI框架的時(shí)候則注意到,只需要在項(xiàng)目的入口文件中import這個(gè)插件然后在接著Vue.use(‘插件名’)。這樣就能在整個(gè)項(xiàng)目里面使用這個(gè)框架中的組件以及方法了。
查閱資料后發(fā)現(xiàn),自定義的組件需要提供一個(gè)install方法
import sideblockComponent from "./sideBlock" const defaultComponentName = "sidebar" const Sidebar = { install(Vue, options = {}) { const componentName = options.componentName || defaultComponentName //提供可選的組件名 Vue.component(componentName, sideblockComponent) } } export default Sidebar
像這樣 引入自己編寫(xiě)好的組件,然后創(chuàng)建一個(gè)對(duì)象,并包含一個(gè)install方法,并使用Vue.component()方法注冊(cè)成Vue全局組件,最后export default導(dǎo)出這個(gè)對(duì)象。
到此最關(guān)鍵的步驟已經(jīng)做好,接下來(lái)是最最關(guān)鍵的步驟。
我們需要在項(xiàng)目的入口文件中引入剛剛做好的組件,并且通過(guò)Vue.use(引入的組件)來(lái)使用插件。
到此,一個(gè)全局Vue組件就弄好了。我們?cè)谔峁﹊nstall方法的同時(shí)也可以通過(guò)Vue.$emit()的方法來(lái)觸發(fā)組件中的方法,但最近在使用Element UI時(shí)發(fā)現(xiàn)他們組件中的方法一般都是通過(guò)Vue.$refs()來(lái)觸發(fā)的。具體原因留到日后再做研究。
本文同步自我的博客
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/90250.html
摘要:當(dāng)組件和混合對(duì)象含有同名選項(xiàng)時(shí),這些選項(xiàng)將以恰當(dāng)?shù)姆绞交旌献远x指令除了默認(rèn)設(shè)置的核心指令和也允許注冊(cè)自定義指令。 vue的復(fù)用性與組合 混合 混合 (mixins) 是一種分發(fā) Vue 組件中可復(fù)用功能的非常靈活的方式。混合對(duì)象可以包含任意組件選項(xiàng)。以組件使用混合對(duì)象時(shí),所有混合對(duì)象的選項(xiàng)將被混入該組件本身的選項(xiàng)。 當(dāng)組件和混合對(duì)象含有同名選項(xiàng)時(shí),這些選項(xiàng)將以恰當(dāng)?shù)姆绞交旌? ...
摘要:入口文件,影響全局,作用是引入全局使用的庫(kù)公共的樣式和方法設(shè)置路由等。項(xiàng)目里總會(huì)有一些復(fù)用的組件,例如彈出框發(fā)送手機(jī)驗(yàn)證碼圖片上傳等,將它們作為通用組件,避免重復(fù)工作結(jié)構(gòu)如下可以根據(jù)功能模塊建立文件夾,放置本功能會(huì)用到的通用組件。 上一篇文章 https://segmentfault.com/a/11... 介紹了項(xiàng)目里文件夾的分類和作用,這次主要說(shuō)明 src 文件夾里具體的文件分類和...
摘要:入口文件,影響全局,作用是引入全局使用的庫(kù)公共的樣式和方法設(shè)置路由等。項(xiàng)目里總會(huì)有一些復(fù)用的組件,例如彈出框發(fā)送手機(jī)驗(yàn)證碼圖片上傳等,將它們作為通用組件,避免重復(fù)工作結(jié)構(gòu)如下可以根據(jù)功能模塊建立文件夾,放置本功能會(huì)用到的通用組件。 上一篇文章 https://segmentfault.com/a/11... 介紹了項(xiàng)目里文件夾的分類和作用,這次主要說(shuō)明 src 文件夾里具體的文件分類和...
摘要:淺談中的組件一初識(shí)組件組件是最強(qiáng)大的功能之一。組件可以擴(kuò)展元素,封裝可重用的代碼。例子我是組件我要把中的數(shù)據(jù)傳給我是組件中央事件總線我是用來(lái)接收從傳過(guò)來(lái)的數(shù)據(jù)我是中的數(shù)據(jù)我是根組件的數(shù)據(jù) 淺談 vue 中的組件 一 、初識(shí)組件 組件 (Component) 是 Vue.js 最強(qiáng)大的功能之一。組件可以擴(kuò)展 HTML 元素,封裝可重用的代碼。 1、定義組件 Vue自定義組件分為兩種:全局...
閱讀 3070·2021-11-22 13:54
閱讀 834·2021-11-04 16:08
閱讀 4463·2021-10-11 11:09
閱讀 3597·2021-09-22 16:05
閱讀 910·2019-08-30 15:54
閱讀 387·2019-08-30 15:44
閱讀 594·2019-08-30 14:05
閱讀 1014·2019-08-30 12:46