最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3+vite實(shí)現(xiàn)使用svg可改變顏色的全過(guò)程

 更新時(shí)間:2024年07月23日 09:47:19   作者:好多吃的啊  
Vue3 + Vite 使用 SVG 的方法主要是為了引入和利用圖標(biāo)庫(kù)、自定義組件以及通過(guò)插件簡(jiǎn)化項(xiàng)目構(gòu)建過(guò)程,這篇文章給大家介紹了Vue3+vite實(shí)現(xiàn)使用svg可改變顏色的全過(guò)程,需要的朋友可以參考下

vue3 + vite 使用 svg

1、安裝插件

npm install vite-plugin-svg-icons -D

npm install fast-glob -D

2、配置插件 vite.config.js

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
// 引入svg插件
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'

const pathResolve = (pathStr) => {
  return path.resolve(__dirname, pathStr)
}

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    createSvgIconsPlugin({
      // 指定需要緩存的svg圖標(biāo)文件夾,即需要識(shí)別的svg都應(yīng)該放在這個(gè)文件夾下
      // iconDirs: [path.resolve(process.cwd(), 'src/assets/svgs')],
      // 或
      iconDirs: [pathResolve('./src/assets')],
      // 指定symbolId格式(這里的配置與6.2步驟中的引入svg組件的name配置項(xiàng)寫(xiě)法有關(guān))
      symbolId: 'icon-[dir]-[name]',
    }),
  ],  
  resolve: {
    // 設(shè)置路徑別名
    alias: {
      '@': pathResolve('./src'),
    }
  },
})


3、根據(jù)vite配置的svg圖標(biāo)文件夾,建好文件夾,把svg圖標(biāo)放入

在這里插入圖片描述

4、在 src/main.js內(nèi)引入注冊(cè)腳本

import 'virtual:svg-icons-register'

在這里插入圖片描述

5、創(chuàng)建一個(gè)公共SvgIcon.vue組件

src/components/SvgIcon.vue

<template>
  <svg aria-hidden="true" class="svg-icon">
    <use :xlink:href="symbolId" rel="external nofollow" />
  </svg>
</template>

<script>
import { defineComponent, computed } from 'vue'

export default defineComponent({
  name: 'SvgIcon',
  props: {
    // 使用的svg圖標(biāo)名稱,也就是svg文件名
    name: {
      type: String,
      required: true,
    },
    prefix: {
      type: String,
      default: 'icon',
    }
  },
  setup(props) {
    const symbolId = computed(() => `#${props.prefix}-${props.name}`)
    return { symbolId }
  },
})
</script>
<style scope>
.svg-icon {
  width: 26px;
  height: 26px;
  fill: currentColor;
}
</style>

6、全局注冊(cè)SvgIcon.vue組件

main.js中引入SvgIcon.vue組件,全局注冊(cè)后在需要使用SvgIcon組件的地方將無(wú)需再引入。

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'

import 'virtual:svg-icons-register'

import SvgIcon from './components/SvgIcon.vue'


createApp(App).component('SvgIcon', SvgIcon).mount('#app')


7、在想要引入svg的vue組件中引入

已App.vue 示例

<template>
  
<!-- 使用不是在svgs目錄中嵌套文件夾下的svg圖標(biāo)的name寫(xiě)法:寫(xiě)上svg圖標(biāo)文件名即可 -->
  <SvgIcon class="delete-icon" name="home-fill"></SvgIcon>
  <!-- 使用是在svgs目錄中嵌套文件夾下的svg圖標(biāo)的name寫(xiě)法:中劃線前面是文件夾名稱,后面是svg圖標(biāo)文件名稱 -->
  <!-- <SvgIcon class="edit-icon" name="msg-iconEdit"></SvgIcon> -->


</template>

<style lang="scss">
// 自定義svg顏色,寬高等樣式
// 注意:這里之所以能自定義svg顏色,是因?yàn)槲以?svg文件中把fill="xxx顏色值" 改為了fill="currentColor" (見(jiàn)下面第7步驟描述) 建議直接刪掉 fill
.delete-icon {color: pink;}
.delete-icon:hover{
  color: blue;
}
</style>


8、如果想要用color控制svg圖標(biāo)顏色,那么需要修改.svg文件中的fill屬性 建議直接刪掉 fill

在這里插入圖片描述

到此這篇關(guān)于Vue3+vite實(shí)現(xiàn)使用svg可改變顏色的全過(guò)程的文章就介紹到這了,更多相關(guān)Vue3+vite使用svg內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Vue3的組合式API中如何使用computed屬性

    詳解Vue3的組合式API中如何使用computed屬性

    在Vue中,computed屬性是一種計(jì)算屬性,它的值是根據(jù)其他數(shù)據(jù)的值動(dòng)態(tài)計(jì)算出來(lái)的,下面小編主要來(lái)和大家聊聊Vue 3的組合式API中如何使用computed屬性,感興趣的小伙伴快跟隨小編一起了解一下吧
    2023-06-06
  • vue可用于拖動(dòng)排序組件示例

    vue可用于拖動(dòng)排序組件示例

    這篇文章主要為大家介紹了vue可用于拖動(dòng)排序組件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Vue中接收二進(jìn)制文件流實(shí)現(xiàn)pdf預(yù)覽的方法

    Vue中接收二進(jìn)制文件流實(shí)現(xiàn)pdf預(yù)覽的方法

    本文主要介紹了Vue中接收二進(jìn)制文件流實(shí)現(xiàn)pdf預(yù)覽的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Vue全局自適應(yīng)大小:使用postcss-pxtorem方式

    Vue全局自適應(yīng)大小:使用postcss-pxtorem方式

    本文介紹了如何在Vue項(xiàng)目中使用postcss-pxtorem插件實(shí)現(xiàn)響應(yīng)式設(shè)計(jì),postcss-pxtorem可以自動(dòng)將CSS文件中的px單位轉(zhuǎn)換為rem單位,從而實(shí)現(xiàn)更好的自適應(yīng)布局,通過(guò)配置postcss-pxtorem插件,可以在構(gòu)建時(shí)自動(dòng)完成轉(zhuǎn)換,無(wú)需手動(dòng)修改代碼
    2025-01-01
  • vue使用引用庫(kù)中的方法附源碼

    vue使用引用庫(kù)中的方法附源碼

    當(dāng)vue使用庫(kù)中的getvalue方法時(shí),需要調(diào)用相關(guān)方法,通過(guò)定義ref=“”,使用this.$refs.exampleEditor._setValue(''),具體示例代碼參考下本文,對(duì)vue使用引用庫(kù)中的方法,感興趣的朋友一起看看吧
    2021-07-07
  • 解決vue-router 嵌套路由沒(méi)反應(yīng)的問(wèn)題

    解決vue-router 嵌套路由沒(méi)反應(yīng)的問(wèn)題

    這篇文章主要介紹了解決vue-router 嵌套路由沒(méi)反應(yīng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • vue3實(shí)現(xiàn)模擬地圖站點(diǎn)名稱按需顯示的功能(車輛模擬地圖)

    vue3實(shí)現(xiàn)模擬地圖站點(diǎn)名稱按需顯示的功能(車輛模擬地圖)

    最近在做車輛模擬地圖,在實(shí)現(xiàn)控制站點(diǎn)名稱按需顯示,下面通過(guò)本文給大家分享vue3實(shí)現(xiàn)模擬地圖站點(diǎn)名稱按需顯示的功能,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • 詳解Vue+elementUI build打包部署后字體圖標(biāo)丟失問(wèn)題

    詳解Vue+elementUI build打包部署后字體圖標(biāo)丟失問(wèn)題

    這篇文章主要介紹了詳解Vue+elementUI build打包部署后字體圖標(biāo)丟失問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Vue自定義Hook實(shí)現(xiàn)簡(jiǎn)化本地存儲(chǔ)

    Vue自定義Hook實(shí)現(xiàn)簡(jiǎn)化本地存儲(chǔ)

    這篇文章主要為大家詳細(xì)介紹了如何通過(guò)使用 Vue 3 的 Composition API 創(chuàng)建一個(gè)強(qiáng)大而靈活的自定義 Hook,簡(jiǎn)化了在 localStorage 或 sessionStorage 中管理數(shù)據(jù)的流程,需要的可以參考下
    2023-12-12
  • Vue-cli-webpack搭建斗魚(yú)直播步驟詳解

    Vue-cli-webpack搭建斗魚(yú)直播步驟詳解

    斗魚(yú)直播是比較火的直播視頻,想必大家都看過(guò)吧。這篇文章主要介紹了Vue-cli-webpack搭建斗魚(yú)直播步驟詳解,需要的朋友可以參考下
    2017-11-11

最新評(píng)論

山西省| 虞城县| 英超| 黄山市| 大埔县| 潜江市| 清河县| 隆德县| 罗田县| 普格县| 余庆县| 汉阴县| 廊坊市| 景德镇市| 内江市| 饶平县| 江北区| 郓城县| 封丘县| 蒙城县| 通辽市| 迁西县| 噶尔县| 北辰区| 略阳县| 佛坪县| 林州市| 怀柔区| 鄂尔多斯市| 盐山县| 达孜县| 青阳县| 马公市| 巴青县| 武夷山市| 慈溪市| 娱乐| 确山县| 都兰县| 井研县| 江城|