vue引入組件的幾種方法匯總
一、常用的局部引入
<template> <div> <!--3.使用組件--> <Button></Button> </div> </template> <script> // 1. 引入組件 import Button from '../view/button.vue' export default { // 2. 注冊(cè)組件 components: { Button, } } </script>
總結(jié): 在哪個(gè)頁(yè)面需要就在那個(gè)頁(yè)面引入、注冊(cè)、使用
二、創(chuàng)建一個(gè)js 進(jìn)行統(tǒng)一注冊(cè) 然后在main.js引入統(tǒng)一管理的js文件實(shí)現(xiàn)全局注冊(cè)
1、global.js統(tǒng)一注冊(cè)管理:
// 1.引入vue import Vue from 'vue' import Child1 from './child1' import Child2 from './child1' import Child3 from './child1' import Child4 from './child1' import Child5 from './child1' Vue.component(Child1) Vue.component(Child2) Vue.component(Child3) Vue.component(Child4) Vue.component(Child5)
2、在main.js中引入 global.js實(shí)現(xiàn)全局注冊(cè)
優(yōu)點(diǎn): 減少每個(gè)頁(yè)面引入的繁瑣步驟 、減少了每一頁(yè)面重復(fù)引入的代碼,
缺點(diǎn): 有90%的代碼都是重復(fù)的
三、自動(dòng)注冊(cè)全局引入
注釋版:
// 引入vue import Vue from 'vue' // 將字符串首字母大寫 返回當(dāng)前字符串 function changeStr(str) { return str.charAt(0).toUpperCase() + str.slice(1) } // require.context: 是動(dòng)態(tài)引入文件 // 參數(shù)一: 當(dāng)前路徑(引入.vue文件的當(dāng)前路徑) // 參數(shù)二:是否匹配當(dāng)前文件下的子文件 // 參數(shù)三:查找文件格式以.vue結(jié)尾的文件 const requireComponent = require.context('./', false, /\.vue$/) console.log("批量注冊(cè)組件", requireComponent.keys()) // ['./head-l.vue', './head-r.vue', './head.vue'] requireComponent.keys().forEach(fileName => { // 當(dāng)前組件 const config = requireComponent(fileName) console.log("組件的信息config", config) //獲取組件名 const componentName = changeStr(fileName.replace(/^\.\//, '').replace(/\.\w+$/)) // 第一個(gè)replace(/^\.\//, '')去掉前面的./ 第二個(gè)replace(/\.W+$/)是去掉后面的.vue console.log("組件名", componentName) // 例如:Head-rundefined // 參數(shù)一: 組件名 // 參數(shù)二: config:是一整個(gè)組件的內(nèi)容; config.default:是組件中export.default里面的內(nèi)容 Vue.component(componentName, config.default || config) })
純凈版:
import Vue from 'vue' function changeStr(str) { return str.charAt(0).toUpperCase() + str.slice(1) } const requireComponent = require.context('./', false, /\.vue$/) requireComponent.keys().forEach(fileName => { const config = requireComponent(fileName) const componentName = changeStr(fileName.replace(/^\.\//, '').replace(/\.\w+$/)) Vue.component(componentName, config.default || config) })
結(jié)構(gòu):
到此這篇關(guān)于vue引入組件的幾種方法的文章就介紹到這了,更多相關(guān)vue引入組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue3動(dòng)態(tài)加載組件以及動(dòng)態(tài)引入組件詳解
- Vue el-table表頭上引入組件不能實(shí)時(shí)傳參解決方法分析
- Vue3自動(dòng)引入組件與組件庫(kù)的方法實(shí)例
- VUE3+vite項(xiàng)目中動(dòng)態(tài)引入組件與異步組件的詳細(xì)實(shí)例
- vue項(xiàng)目中使用require.context引入組件
- vue3集成Element-plus實(shí)現(xiàn)按需自動(dòng)引入組件的方法總結(jié)
- vue如何批量引入組件、注冊(cè)和使用詳解
- 利用vue+elementUI實(shí)現(xiàn)部分引入組件的方法詳解
相關(guān)文章
vue等兩個(gè)接口都返回結(jié)果再執(zhí)行下一步的實(shí)例
這篇文章主要介紹了vue等兩個(gè)接口都返回結(jié)果再執(zhí)行下一步的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09vue項(xiàng)目base64字符串轉(zhuǎn)圖片的實(shí)現(xiàn)代碼
這篇文章主要介紹了vue項(xiàng)目base64字符串轉(zhuǎn)圖片的實(shí)現(xiàn)代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07Vue如何獲取url路由地址和參數(shù)簡(jiǎn)單示例
這篇文章主要給大家介紹了Vue如何獲取url路由地址和參數(shù)的相關(guān)資料,通過(guò)簡(jiǎn)單的代碼示例,幫助讀者快速掌握Vue路由的基本用法,需要的朋友可以參考下2023-03-03如何使用yarn創(chuàng)建vite項(xiàng)目+vue3
這篇文章主要介紹了如何使用yarn創(chuàng)建vite項(xiàng)目+vue3,詳細(xì)介紹了使用vite創(chuàng)建vue3過(guò)程,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-03-03vue移動(dòng)端模態(tài)框(可傳參)的實(shí)現(xiàn)
這篇文章主要介紹了vue移動(dòng)端模態(tài)框(可傳參)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11解決vue無(wú)法偵聽(tīng)數(shù)組及對(duì)象屬性的變化問(wèn)題
這篇文章主要介紹了解決vue無(wú)法偵聽(tīng)數(shù)組及對(duì)象屬性的變化問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Vue不同項(xiàng)目之間傳遞、接收參數(shù)問(wèn)題
這篇文章主要介紹了Vue不同項(xiàng)目之間傳遞、接收參數(shù)問(wèn)題,主要針對(duì)是登錄操作,我們?yōu)榱送瓿蒘SO(Single Sign On)的效果,認(rèn)證和授權(quán)在UC完成,用戶發(fā)起資源請(qǐng)求,服務(wù)網(wǎng)關(guān)會(huì)進(jìn)行過(guò)濾,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04