Maison  >  Article  >  interface Web  >  Comment utiliser l'icône SVG dans vue3

Comment utiliser l'icône SVG dans vue3

王林
王林avant
2023-05-17 16:52:141750parcourir

Méthode 1 Utilisez le lien en ligne pour accéder

Trouvez l'icône de votre projet dans iconfont et sélectionnez Symbole pour obtenir le lien en ligne

Comment utiliser licône SVG dans vue3

2 : Recherchez l'index.html public dans le projet vue3 pour présenter le script

Comment utiliser licône SVG dans vue3

Ouvrir la vue dans le navigateur : celle-ci sera automatiquement injectée dans le corps

Comment utiliser licône SVG dans vue3

Utilisée directement dans le projet

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

, l'icône supprimée sera affichée

Comment utiliser licône SVG dans vue3

La façon de écrivez le package (le code ci-dessus se lit également. Répétez ce qui suit pour l'encapsulation)

1 : Créez un nouveau composant spécifiquement pour obtenir des icônes svg

Comment utiliser licône SVG dans 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>

An interface qui doit afficher des icônes

<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>

Comment utiliser licône SVG dans vue3

Si vous utilisez l'icône d'iconfont ainsi qu'une icône personnalisée, vous pouvez les assembler et spécifier quelle icône utiliser en fonction du nom transféré

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>

Utilisez :

<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>

Comment utiliser licône SVG dans vue3

Si vous copiez le code svg de l'icône du site officiel d'iconfont :

Comment utiliser licône SVG dans vue3

Comment utiliser licône SVG dans vue3

Vous pouvez également l'utiliser directement par cv pour le projet :

<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>

L'effet est le suivant :

Comment utiliser licône SVG dans vue3

On peut aussi transformer le code ci-dessus et l'utiliser directement en transformation icon.vue (svg/index.vue)

Comment utiliser licône SVG dans vue3

 


Comment utiliser licône SVG dans vue3

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer