Rumah > hujung hadapan web > View.js > teks badan

Bagaimana untuk menggunakan ikon svg dalam vue3

王林
Lepaskan: 2023-05-17 16:52:14
ke hadapan
1747 orang telah melayarinya

Kaedah 1 Gunakan pautan dalam talian untuk mengakses

Cari ikon projek anda dalam iconfont dan pilih Simbol untuk mendapatkan pautan dalam talian

Bagaimana untuk menggunakan ikon svg dalam vue3

2: Ditemui dalam projek vue3 Public index.html memperkenalkan skrip

Bagaimana untuk menggunakan ikon svg dalam vue3

Buka penyemak imbas untuk melihat: Ini akan disuntik secara automatik ke dalam badan

Bagaimana untuk menggunakan ikon svg dalam vue3

Gunakan

   //控制图标的大小
   <svg >
      <use href="#icon-shanchu" rel="external nofollow" ></use>
    </svg>
Salin selepas log masuk

terus dalam projek untuk memaparkan ikon padam

Bagaimana untuk menggunakan ikon svg dalam vue3

Cara menulis pakej (kod di atas terlalu berulang untuk dirangkumkan di bawah)

1: Buat komponen baharu khusus untuk mendapatkan ikon svg

Bagaimana untuk menggunakan ikon svg dalam vue3

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>
Salin selepas log masuk

Antara muka yang perlu memaparkan ikon

<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>
Salin selepas log masuk

Bagaimana untuk menggunakan ikon svg dalam vue3

Jika anda menggunakan ikon iconfont serta ikon tersuai, anda boleh meletakkannya bersama-sama dan menentukan ikon yang hendak digunakan berdasarkan nama yang dipindahkan

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>
Salin selepas log masuk

Gunakan:

<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>
Salin selepas log masuk

Bagaimana untuk menggunakan ikon svg dalam vue3

Jika anda menyalin kod svg ikon tapak web rasmi iconfont:

Bagaimana untuk menggunakan ikon svg dalam vue3

Bagaimana untuk menggunakan ikon svg dalam vue3

Anda boleh terus cv ke projek atau menggunakannya terus:

rreee

Kesannya adalah seperti berikut:

Bagaimana untuk menggunakan ikon svg dalam vue3

Kami juga boleh menukar kod di atas dan menggunakannya terus dalam transformasi icon.vue (svg/index.vue)

Bagaimana untuk menggunakan ikon svg dalam vue3

<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>
Salin selepas log masuk

Bagaimana untuk menggunakan ikon svg dalam vue3

Atas ialah kandungan terperinci Bagaimana untuk menggunakan ikon svg dalam vue3. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!