欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > vue3中把封装svg图标为全局组件

vue3中把封装svg图标为全局组件

2025/5/4 19:21:56 来源:https://blog.csdn.net/hjh15827475896/article/details/142284665  浏览:    关键词:vue3中把封装svg图标为全局组件

在vue3中我们使用svg图标是下面这样子的

    <svg style="width:30px;height:30px;"><use xlink:href="#icon-phone" fill="red"></use></svg>

第次使用图标都要写这么多重复的代码,很不方便,所以,如果我们把它封装成全局的组件, 就可以很方便的使用了
首先我们要看 svg 图标使用时 变化的部分有哪几个

在这里插入图片描述
所以我们新建一个组件 SvgIcon

在这里插入图片描述

SvgIcon.vue 的代码如下

<script setup lang="ts" name="SvgIcon">let props = defineProps({iconname: {type: String,default: '',},width: {type: [Number,String],default: 16,},height: {type: [Number,String],default: 16,},color:{type:String,default:'#666'}})
</script><template><div class="wrapper"><svg :style="{width:width+'px',height:height+'px'}"><use :xlink:href="`#icon-${iconname}`" :fill="color"/></svg></div>
</template><style scoped></style>

在页面中调用就可以了
在这里插入图片描述


以上是在单组件中调用, 每次使用 都要引入才可以使用,我们现在把它设置成全局组件,就不需要 每个调用的地方都要 import SvgIcon from “@/components/SvgIcon.vue”;

我们只需要在 main.ts中注册自定义的组件为全局组件就可以了

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词