国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
一、安裝 svg-sprite-loader
二、在src/components/svgIcon下新建組件index.vue
三、在assets在創(chuàng)建icons文件夾
四、在src同級下創(chuàng)建vue.config.js進行配置
五、在main.js里引入,以及做一些小修改
六、在頁面中使用
七、文件目錄結(jié)構(gòu)及其效果展示
首頁 web前端 Vue.js vue3 vue-cli4中怎么使用svg

vue3 vue-cli4中怎么使用svg

May 11, 2023 pm 05:58 PM
svg vue3 vue-cli4

一、安裝 svg-sprite-loader

npm install svg-sprite-loader --save-dev

二、在src/components/svgIcon下新建組件index.vue

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

<script>
import { computed } from "@vue/reactivity";
export default {
  name: "baseSvgIcon",
  props: {
    iconClass: { type: String },
    className: { type: String },
  },
  setup(props) {
    const iconName = computed(() => {
      return props.iconClass ? `#icon-${props.iconClass}` : "#icon";
    });
    const svgClass = computed(() => {
      return props.className ? "svg-icon " + props.className : "svg-icon";
    });
    return { iconName, svgClass };
  },
};
</script>

<style scoped lang="scss">
.svg-icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.15em;
  fill: currentColor;
  overflow: hidden;
}
</style>

三、在assets在創(chuàng)建icons文件夾

imgs文件夾里含一個svg文件夾,放svg格式文件,以及一個index.js文件,該文件內(nèi)容如下

// 獲取當前目錄所有為.svg的文件
const req = require.context(&#39;./svg&#39;, false, /\.svg$/)

// 解析獲取的.svg文件的文件名稱并返回
const requireAll = (requireContext) =>{
    return requireContext.keys().map(requireContext)
}
requireAll(req)

四、在src同級下創(chuàng)建vue.config.js進行配置

經(jīng)評論區(qū)總結(jié),如果是在非vue-cli4的項目中,在config.module.rules.delete("svg");報錯的話,可以嘗試使用config.module.rule("svg").exclude.add(resolve("src/assets/imgs")).end();替換該語句

const path = require(&#39;path&#39;)

function resolve(dir) {
  return path.join(__dirname, &#39;.&#39;, dir)
}

module.exports = {
  chainWebpack: config => {
    config.module.rules.delete("svg"); // 重點:刪除默認配置中處理svg,
    config.module
      .rule(&#39;svg-sprite-loader&#39;)
      .test(/\.svg$/)
      .include
      .add(resolve(&#39;src/assets/imgs&#39;)) // 處理svg目錄
      .end()
      .use(&#39;svg-sprite-loader&#39;)
      .loader(&#39;svg-sprite-loader&#39;)
      .options({
        symbolId: &#39;icon-[name]&#39;
      })
  },
};

五、在main.js里引入,以及做一些小修改

此處注意,將組件注冊放到main.js里。不然會報[Vue warn]: Failed to resolve component: svg-icon的問題,預測為父組件先創(chuàng)建完了而子組件還沒創(chuàng)建進去,導致該問題的出現(xiàn)

import { createApp } from &#39;vue&#39;
import App from &#39;./App.vue&#39;
import router from &#39;./router&#39;
import store from &#39;./store&#39;
import &#39;@/assets/icons&#39;

const app = createApp(App)

import SvgIcon from &#39;@/components/svgIcon&#39; 
app.component(&#39;svg-icon&#39;, SvgIcon)

app.use(store).use(router).mount(&#39;#app&#39;)

六、在頁面中使用

<div class="topLeft">
  <svg-icon icon-class="category"></svg-icon>
</div>
<div class="topCenter"></div>
<div class="topRight">
  <svg-icon icon-class="search"></svg-icon>
</div>

七、文件目錄結(jié)構(gòu)及其效果展示

vue3 vue-cli4中怎么使用svg

以上是vue3 vue-cli4中怎么使用svg的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

Vue3如何實現(xiàn)刷新頁面局部內(nèi)容 Vue3如何實現(xiàn)刷新頁面局部內(nèi)容 May 26, 2023 pm 05:31 PM

想要實現(xiàn)頁面的局部刷新,我們只需要實現(xiàn)局部組件(dom)的重新渲染。在Vue中,想要實現(xiàn)這一效果最簡便的方式方法就是使用v-if指令。在Vue2中我們除了使用v-if指令讓局部dom的重新渲染,也可以新建一個空白組件,需要刷新局部頁面時跳轉(zhuǎn)至這個空白組件頁面,然后在空白組件內(nèi)的beforeRouteEnter守衛(wèi)中又跳轉(zhuǎn)回原來的頁面。如下圖所示,如何在Vue3.X中實現(xiàn)點擊刷新按鈕實現(xiàn)紅框范圍內(nèi)的dom重新加載,并展示對應的加載狀態(tài)。由于Vue3.X中scriptsetup語法中組件內(nèi)守衛(wèi)只有o

Vue3怎么解析markdown并實現(xiàn)代碼高亮顯示 Vue3怎么解析markdown并實現(xiàn)代碼高亮顯示 May 20, 2023 pm 04:16 PM

Vue實現(xiàn)博客前端,需要實現(xiàn)markdown的解析,如果有代碼則需要實現(xiàn)代碼的高亮。Vue的markdown解析庫有很多,如markdown-it、vue-markdown-loader、marked、vue-markdown等。這些庫都大同小異。這里選用的是marked,代碼高亮的庫選用的是highlight.js。具體實現(xiàn)步驟如下:一、安裝依賴庫在vue項目下打開命令窗口,并輸入以下命令npminstallmarked-save//marked用于將markdown轉(zhuǎn)換成htmlnpmins

vue3+vite:src使用require動態(tài)導入圖片報錯怎么解決 vue3+vite:src使用require動態(tài)導入圖片報錯怎么解決 May 21, 2023 pm 03:16 PM

vue3+vite:src使用require動態(tài)導入圖片報錯和解決方法vue3+vite動態(tài)的導入多張圖片vue3如果使用的是typescript開發(fā),就會出現(xiàn)require引入圖片報錯,requireisnotdefined不能像使用vue2這樣imgUrl:require(’…/assets/test.png’)導入,是因為typescript不支持require所以用import導入,下面介紹如何解決:使用awaitimport

vue3項目中怎么使用tinymce vue3項目中怎么使用tinymce May 19, 2023 pm 08:40 PM

tinymce是一個功能齊全的富文本編輯器插件,但在vue中引入tinymce并不像別的Vue富文本插件一樣那么順利,tinymce本身并不適配Vue,還需要引入@tinymce/tinymce-vue,并且它是國外的富文本插件,沒有通過中文版本,需要在其官網(wǎng)下載翻譯包(可能需要翻墻)。1、安裝相關(guān)依賴npminstalltinymce-Snpminstall@tinymce/tinymce-vue-S2、下載中文包3.引入皮膚和漢化包在項目public文件夾下新建tinymce文件夾,將下載的

Vue3中怎么實現(xiàn)選取頭像并裁剪 Vue3中怎么實現(xiàn)選取頭像并裁剪 May 29, 2023 am 10:22 AM

最終效果安裝VueCropper組件yarnaddvue-cropper@next上面的安裝值針對Vue3的,如果時Vue2或者想使用其他的方式引用,請訪問它的npm官方地址:官方教程。在組件中引用使用時也很簡單,只需要引入對應的組件和它的樣式文件,我這里沒有在全局引用,只在我的組件文件中引入import{userInfoByRequest}from'../js/api'import{VueCropper}from'vue-cropper&

怎么使用vue3+ts+axios+pinia實現(xiàn)無感刷新 怎么使用vue3+ts+axios+pinia實現(xiàn)無感刷新 May 25, 2023 pm 03:37 PM

vue3+ts+axios+pinia實現(xiàn)無感刷新1.先在項目中下載aiXos和pinianpmipinia--savenpminstallaxios--save2.封裝axios請求-----下載js-cookienpmiJS-cookie-s//引入aixosimporttype{AxiosRequestConfig,AxiosResponse}from"axios";importaxiosfrom'axios';import{ElMess

Vue3復用組件怎么使用 Vue3復用組件怎么使用 May 20, 2023 pm 07:25 PM

前言無論是vue還是react,當遇到多處重復代碼的時候,我們都會想著如何復用這些代碼,而不是一個文件里充斥著一堆冗余代碼。實際上,vue和react都可以通過抽組件的方式來達到復用,但如果遇到一些很小的代碼片段,你又不想抽到另外一個文件的情況下,相比而言,react可以在相同文件里面聲明對應的小組件,或者通過renderfunction來實現(xiàn),如:constDemo:FC=({msg})=>{returndemomsgis{msg}}constApp:FC=()=>{return(

vue3怎么使用vueup/vue-quill富文本并限制輸入字數(shù) vue3怎么使用vueup/vue-quill富文本并限制輸入字數(shù) May 20, 2023 pm 04:16 PM

一、效果展示二、npmnpminstall@vueup/vue-quill@alpha--save三、main.js引入import{QuillEditor}from'@vueup/vue-quill'import'@vueup/vue-quill/dist/vue-quill.snow.css';app.component('QuillEditor',QuillEditor)四、頁面使用{{TiLe

See all articles