下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第基于Vue實(shí)現(xiàn)自定義組件的方式引入圖標(biāo)在項(xiàng)目開發(fā)中,使用圖標(biāo)的方式有很多種,可以在iconfont上面找到合適的圖標(biāo),通過(guò)http或者直接下載使用,這里我分享一種通過(guò)實(shí)現(xiàn)自定義組件的方式引入圖標(biāo)。
搭建環(huán)境
這里通過(guò)@vue/cli4.5.13新建項(xiàng)目,并且需要安裝依賴svg-sprite-loader,用來(lái)處理對(duì)應(yīng)的svg圖標(biāo),方便我們使用。
安裝:npminstall--save-devsvg-sprite-loader
配置vue.config.js
在安裝svg-sprite-loader后,新建vue.config.js來(lái)配置依賴:
//vue.config.js
const{resolve}=require('path')
module.exports={
chainWebpack(config){
config
.module
.rule('svg')
.exclude
.add(resolve('src/icons'))
.end()
config
.module
.rule('icons')
.test(/\.svg$/)
.include
.add(resolve('src/icons'))
.end()
.use('svg-sprite-loader')
.loader('svg-sprite-loader')
.options({
symbolId:'icon-[name]'
這里通過(guò)chainWebpack來(lái)做了兩項(xiàng)配置:
第一個(gè)是讓原來(lái)的其他處理svg的依賴不處理src/icons下我們的自定義圖標(biāo)文件
通過(guò)svg-sprite-loader來(lái)處理自定義的圖標(biāo)文件,options里面的設(shè)置表示,生成的svg的symbolId為icon和文件名的拼接。
新建圖標(biāo)組件
在components目錄下新建一個(gè)SvgIcon.vue文件:
template
!--aria-hidden,幫助殘障人士閱讀(設(shè)備讀取內(nèi)容時(shí)會(huì)跳過(guò)這個(gè)標(biāo)簽以免混淆)--
svgaria-hidden="true":width="size":height="size":fill="fillColor"
use:xlink:href="iconName"rel="externalnofollow"/use
/svg
/template
scriptlang="ts"
import{PropType,toRefs}from'vue'
exportdefault{
props:{
size:{
type:NumberasPropTypenumber,
default:14
fillColor:{
type:StringasPropTypestring,
default:'#000'
iconName:{
type:StringasPropTypestring,
required:true
setup(props:any){
const{size,fillColor,iconName:_iconName}=toRefs(props)
consticonName=`#${_iconName.value}`
return{
size,
fillColor,
iconName
/script
然后,新建一個(gè)icons目錄,并且新建一個(gè)index文件,用來(lái)掛在組件和引入svg圖標(biāo):
//index.ts
importSvgIconfrom'@/components/SvgIcon.vue'
import{App}from'vue'
exportdefault(app:App)={
ponent('svg-icon',SvgIcon)
constctx=require.context('./svg',false,/\.svg$/)
con
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年化工行業(yè)清潔生產(chǎn)工藝報(bào)告
- 2025年跨境電商保稅備貨模式創(chuàng)新項(xiàng)目稅收政策影響可行性研究報(bào)告
- 二手車稅務(wù)培訓(xùn)課件
- 2025至2030中國(guó)智能家居設(shè)備市場(chǎng)消費(fèi)需求與產(chǎn)業(yè)鏈投資價(jià)值評(píng)估研究報(bào)告
- 2025至2030中國(guó)動(dòng)力電池梯次利用市場(chǎng)現(xiàn)狀標(biāo)準(zhǔn)體系及經(jīng)濟(jì)性評(píng)估研究報(bào)告
- 中國(guó)腦科學(xué)研究
- 2025至2030中國(guó)工業(yè)互聯(lián)網(wǎng)平臺(tái)應(yīng)用場(chǎng)景及企業(yè)數(shù)字化轉(zhuǎn)型研究報(bào)告
- 2025-2030中亞地區(qū)肉制品加工行業(yè)市場(chǎng)競(jìng)爭(zhēng)分析及行業(yè)投資評(píng)估規(guī)劃發(fā)展研究報(bào)告
- 2025至2030中國(guó)工業(yè)氣體行業(yè)技術(shù)突破應(yīng)用前景及投資戰(zhàn)略規(guī)劃研究報(bào)告
- 宜春市教體局直屬學(xué)校面向2026屆高校畢業(yè)生招聘教師25人備考題庫(kù)完整參考答案詳解
- 2026長(zhǎng)治日?qǐng)?bào)社工作人員招聘勞務(wù)派遣人員5人備考題庫(kù)及答案1套
- 河道清淤作業(yè)安全組織施工方案
- 2026年七臺(tái)河職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)附答案
- 2021海灣消防 GST-LD-8318 緊急啟停按鈕使用說(shuō)明書
- 煙花爆竹零售經(jīng)營(yíng)安全責(zé)任制度
- 托幼機(jī)構(gòu)傳染病應(yīng)急處置預(yù)案
- 合歡花苷類對(duì)泌尿系感染的抗菌作用
- 汕頭市金平區(qū)2025屆九年級(jí)數(shù)學(xué)第一學(xué)期期末檢測(cè)試題含解析
- 2023年司法鑒定所黨支部年終總結(jié)
- 腫瘤生物學(xué)1(完整版)
- 2023-2024學(xué)年廣東省廣州市小學(xué)數(shù)學(xué)二年級(jí)上冊(cè)期末自我評(píng)估試題
評(píng)論
0/150
提交評(píng)論