vue頁(yè)面批量引入組件的操作代碼
<template>
<div>
<template v-for="(item) in names">
<component :is="item" :key="item" />
</template>
</div>
</template>
<script>
// 可行了
import path from 'path'
// require.context(param1,param2,param3) param1:路徑; param2: 是否搜索子文件夾; param3: 文件類型,可正則
const files = require.context('@/components/Menu/Dialog', true, /\.vue$/)
const dialogs = {}
const names = []
// 組件導(dǎo)入
files.keys().forEach((key) => {
/**
*
* 獲取vue文件名
* 法一:用正則表達(dá)式匹配
* key.replace(/^\.\/(.*)\.\w+$/, '$1')
* 法一:path.basename獲取vue文件名
* import path from 'path'
* path.basename(path[, ext])
* path.basename() 方法會(huì)返回 path 的最后一部分。 尾部的目錄分隔符會(huì)被忽略。
**/
// 獲取文件名 法一
// var name = fileName
// .split('/')
// .pop()
// .replace(/\.\w+$/, '');
// 獲取文件名 法二
const name = path.basename(key, '.vue')
names.push(name)
dialogs[name] = files(key).default || files(key)
})
export default {
name: 'Dialogs',
components: dialogs,
data() {
return {
names: names
}
}
}
</script>
<style lang="scss" scoped />知識(shí)點(diǎn):
require.context(param1,param2,param3)
- param1:路徑;
- param2: 是否搜索子文件夾;
- param3: 文件類型,可正則
path.basename(path[, ext])
方法會(huì)返回 path 的最后一部分。 尾部的目錄分隔符會(huì)被忽略
- path :string
- ext :string 可選的文件擴(kuò)展名。
path.basename('/目錄1/目錄2/文件.html'); // 文件.htmlpath.basename('/目錄1/目錄2/文件.html', '.html'); // 文件到此這篇關(guān)于vue頁(yè)面批量引入組件的文章就介紹到這了,更多相關(guān)vue頁(yè)面批量引入組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue與electron實(shí)現(xiàn)進(jìn)程間的通信詳情
這篇文章主要介紹了vue與electron實(shí)現(xiàn)進(jìn)程間的通信詳情,本文主要介紹electron渲染進(jìn)程和主進(jìn)程間的通信,以及在渲染進(jìn)程和主進(jìn)程中常用的配置項(xiàng),需要的朋友可以參考一下2022-09-09
Vue?keepAlive實(shí)現(xiàn)不同的路由共用一個(gè)組件component的緩存問(wèn)題(推薦)
這篇文章主要介紹了Vue?keepAlive實(shí)現(xiàn)不同的路由共用一個(gè)組件component的緩存問(wèn)題,實(shí)現(xiàn)方式使用Vue?keepAlive實(shí)現(xiàn)頁(yè)面緩存,需要的朋友可以參考下2022-08-08
vue 插值 v-once,v-text, v-html詳解
這篇文章主要介紹了vue 插值 v-once,v-text, v-html詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
vue3基礎(chǔ)組件開(kāi)發(fā)detePicker日期選擇組件示例
這篇文章主要為大家介紹了vue3基礎(chǔ)組件開(kāi)發(fā)-detePicker(日期選擇組件)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
Vue動(dòng)態(tài)加載圖片在跨域時(shí)無(wú)法顯示的問(wèn)題及解決方法
這篇文章主要介紹了解決VUE動(dòng)態(tài)加載圖片在跨域時(shí)無(wú)法顯示的問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
vue.js默認(rèn)路由不加載linkActiveClass問(wèn)題的解決方法
這篇文章主要給大家介紹了關(guān)于vue.js默認(rèn)路由不加載linkActiveClass問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-12-12
vue項(xiàng)目接入高德地圖點(diǎn)擊地圖獲取經(jīng)緯度以及省市區(qū)功能
這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目接入高德地圖點(diǎn)擊地圖獲取經(jīng)緯度以及省市區(qū)功能的相關(guān)資料,開(kāi)發(fā)中我們需要地圖定位,就是用戶輸入位置,自動(dòng)定位獲取經(jīng)緯度,需要的朋友可以參考下2023-08-08

