vue頁面批量引入組件的操作代碼
更新時間:2022年12月12日 14:50:10 作者:陌上煙雨寒
這篇文章主要介紹了vue頁面批量引入組件,本文結合示例代碼給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
<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 = []
// 組件導入
files.keys().forEach((key) => {
/**
*
* 獲取vue文件名
* 法一:用正則表達式匹配
* key.replace(/^\.\/(.*)\.\w+$/, '$1')
* 法一:path.basename獲取vue文件名
* import path from 'path'
* path.basename(path[, ext])
* path.basename() 方法會返回 path 的最后一部分。 尾部的目錄分隔符會被忽略。
**/
// 獲取文件名 法一
// 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 />知識點:
require.context(param1,param2,param3)
- param1:路徑;
- param2: 是否搜索子文件夾;
- param3: 文件類型,可正則
path.basename(path[, ext])
方法會返回 path 的最后一部分。 尾部的目錄分隔符會被忽略
- path :string
- ext :string 可選的文件擴展名。
path.basename('/目錄1/目錄2/文件.html'); // 文件.htmlpath.basename('/目錄1/目錄2/文件.html', '.html'); // 文件到此這篇關于vue頁面批量引入組件的文章就介紹到這了,更多相關vue頁面批量引入組件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue template中slot-scope/scope的使用方法
今天小編就為大家分享一篇vue template中slot-scope/scope的使用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09
vue實現(xiàn)加載頁面自動觸發(fā)函數(及異步獲取數據)
這篇文章主要介紹了vue實現(xiàn)加載頁面自動觸發(fā)函數(及異步獲取數據),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
基于vue v-for 多層循環(huán)嵌套獲取行數的方法
今天小編就為大家分享一篇基于vue v-for 多層循環(huán)嵌套獲取行數的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09

