ホームページ > ウェブフロントエンド > Vue.js > vue3でsvgアイコンを使う方法

vue3でsvgアイコンを使う方法

王林
リリース: 2023-05-17 16:52:14
転載
1843 人が閲覧しました

方法 1 オンライン リンクを使用してアクセスします

iconfont でプロジェクトのアイコンを見つけ、[シンボル] を選択してオンライン リンクを取得します

vue3でsvgアイコンを使う方法

2: 見つかりましたvue3 プロジェクトの publicindex.html でスクリプトが紹介されています

vue3でsvgアイコンを使う方法

#ブラウザを開いて確認してください。これにより、スクリプトが自動的に本文に挿入されます

vue3でsvgアイコンを使う方法

#プロジェクト内で直接使用##

   //控制图标的大小
   <svg >
      <use href="#icon-shanchu" rel="external nofollow" ></use>
    </svg>
ログイン後にコピー

#削除されたアイコンが表示されます

パッケージの作成方法 (上記のコードは繰り返しが多すぎるため、以下にカプセル化できません)vue3でsvgアイコンを使う方法

1: svg アイコンを取得するための新しいコンポーネントを作成します

vue3でsvgアイコンを使う方法icon.vue (svg/index.vue)

 <template>
  <div>
    <svg :>
      <use :href="names" rel="external nofollow"  rel="external nofollow" ></use>
    </svg>
  </div>
</template>

<script setup>
import { defineProps, withDefaults } from "vue";
const props = defineProps({
  name: {
    type: String,
    default: "",
  },
  style: {
    type: Object,
    default: () => {
      return {
        width: 10,
        height: 10,
        color: "",
      };
    },
  },
});
const names = `#${props.name}`;
</script>

<style lang="scss" scoped></style>
ログイン後にコピー
アイコンを表示する必要があるインターフェイス

<template>
  <div class="home"> 
    <icon   :  name="icon-shanchu"  ></icon>
    <icon   :  name="icon-shanchu"  ></icon>
  </div>
</template>

<script setup>
import { ref } from "vue";
import icon from "../assets/svg/index.vue";
</script>
<style lang="scss">
 
</style>
ログイン後にコピー

vue3でsvgアイコンを使う方法iconfont アイコンとカスタム アイコンを使用する場合は、それらをまとめて、転送された名前に基づいて使用するアイコンを指定できます。

icon.vue (svg/ Index .vue)

<template>
  <div>
    <svg :>
      <use :href="names" rel="external nofollow"  rel="external nofollow" ></use>
    </svg>
   // 自定义的图标
    <svg width="0" height="0">
      <defs>
        <symbol id="more" viewBox="0 0 100 100">
          <circle
            r="5"
            cx="20"
            cy="25"
            fill="transparent"
            stroke="green"
          ></circle>
          <circle r="5" cx="20" cy="50" fill="currentColor"></circle>
          <circle r="5" cx="20" cy="75" fill="currentColor"></circle>
          <line
            x1="40"
            y1="25"
            x2="90"
            y2="25"
            stroke-width="8"
            stroke="currentColor"
          ></line>
          <line
            x1="40"
            y1="50"
            x2="90"
            y2="50"
            stroke-width="8"
            stroke="currentColor"
          ></line>
          <line
            x1="40"
            y1="75"
            x2="90"
            y2="75"
            stroke-width="8"
            stroke="currentColor"
          ></line>
        </symbol>  
      </defs>
    </svg>
  </div>
</template>

<script setup>
import { defineProps, withDefaults } from "vue";
const props = defineProps({
  name: {
    type: String,
    default: "",
  },
  style: {
    type: Object,
    default: () => {
      return {
        width: 10,
        height: 10,
        color: "",
      };
    },
  },
});
const names = `#${props.name}`;
</script>

<style lang="scss" scoped></style>
ログイン後にコピー
使用:
<template>
  <div class="home"> 
    <icon  :   name="icon-shanchu" ></icon>
    <icon  :  name="icon-shanchu1"  ></icon>
    <icon : name="more"></icon>
  </div>
</template>

<script setup>
import { ref } from "vue";
import icon from "../assets/svg/index.vue";
</script>
<style lang="scss">
 
</style>
ログイン後にコピー

##iconfont 公式 Web サイトのアイコン SVG コードをコピーする場合: vue3でsvgアイコンを使う方法

vue3でsvgアイコンを使う方法

プロジェクトに直接 cv することも、直接使用することもできます: vue3でsvgアイコンを使う方法

<svg
      t="1673881805558"
      class="icon"
      viewBox="0 0 1024 1024"
      version="1.1"
      xmlns="http://www.w3.org/2000/svg"
      p-id="1076"
      width="200"
      height="200"
    >
      <path
        d="M658.276045 767.993958 658.276045 274.295l329.126 0L987.402045 219.44 658.276 219.44l0-18.281c0-80.787046-65.492992-146.284032-146.276045-146.284032-80.790016 0-146.276045 65.496986-146.276045 146.284032l0 18.281L36.597 219.44l0 54.855 109.695 0 0 694.83L877.7 969.125l0-548.55-54.855 0L822.845 914.27l-621.69 0L201.155 274.295l164.569 0 0 493.699 54.848 0L420.572 274.295l182.85 0 0 493.699L658.276 767.994zM420.571034 219.440026l0-18.281c0-50.492006 40.932966-91.420979 91.428966-91.420979 50.489037 0 91.420979 40.928973 91.420979 91.420979l0 18.281L420.571 219.440026z"
        p-id="1077"
      ></path>
    </svg>
ログイン後にコピー

The効果は次のとおりです。

#上記のコードを変換して、icon.vue (svg/index.vue) 変換で直接使用することもできます

vue3でsvgアイコンを使う方法

 


ログイン後にコピー

以上がvue3でsvgアイコンを使う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート