千家信息网

vue中怎么使用svg封装全局消息提示组件

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本文小编为大家详细介绍"vue中怎么使用svg封装全局消息提示组件",内容详细,步骤清晰,细节处理妥当,希望这篇"vue中怎么使用svg封装全局消息提示组件"文章能帮助大家解决疑惑,下面跟着小编的思路
千家信息网最后更新 2025年01月21日vue中怎么使用svg封装全局消息提示组件

本文小编为大家详细介绍"vue中怎么使用svg封装全局消息提示组件",内容详细,步骤清晰,细节处理妥当,希望这篇"vue中怎么使用svg封装全局消息提示组件"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

先看效果图

一、首先安装下载需要用到的svg相关依赖

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

二、针对没有vue.config.js文件的vue项目,直接在webpack.base.conf.js中进行如下两个配置

1.找到图片相关配置位置,添加款选出的代码

2.在图片配置后添加如下代码

三、根据添加的代码我们去src下创建一个icons文件夹,icons下面创建一个svg文件夹,用于存放svg结尾的图片

index.js文件夹中添加代码

import Vue from 'vue'import SvgIcon from '../components/SvgIcon/SvgIcon'Vue.component('svg-icon', SvgIcon)const req = require.context('./svg', false, /\.svg$/)const requireAll = requireContext => requireContext.keys().map(requireContext)requireAll(req)

四、在components中添加SvgIcon文件夹,并创建组件svgIcon.vue,添加以下代码

五、在main.js中引入,src下创建的icons文件夹

六、至此vue中使用svg就完成,接着直接在项目中使用即可

完成了svg的配置 接下来试下全局消息提示

一、在components下创建Message文件夹,文件夹下创建两个文件,一个message.vue,一个index.js

message.vue下添加以下代码

index.js中添加以下代码

import vue from 'vue'import Message from './message'const messageConstructor = vue.extend(Message)const MsgMain = {    show(text, type, duration) {        const instance = new messageConstructor()  // 创建实例        instance.$mount(document.createElement('div')) // 创建dom元素        document.body.appendChild(instance.$el) // 将dom元素添加到body中        instance.type = type  // 写入属性        instance.text = text  // 写入属性        instance.isShow = true // 写入属性        setTimeout(() => {            instance.isShow = false  // 一段时候后关闭提示        }, duration)    },    success(text, duration = 2000) {        this.show(text, 'success', duration)  // 成功时调用    },    error(text, duration = 2000) {        this.show(text, 'error', duration) // 失败时调用    },};// 全局注册function Msg() {    vue.prototype.$message = MsgMain}export default Msg

二、在main.js中引入

三、使用:最后在需要用到的地方调用即可

读到这里,这篇"vue中怎么使用svg封装全局消息提示组件"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0