小编给大家分享一下怎么使用Vue实现base64编码图片间的切换功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
创新互联专注于企业成都营销网站建设、网站重做改版、都兰网站定制设计、自适应品牌网站建设、H5开发、成都商城网站开发、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为都兰等各大城市提供网站开发制作服务。
要实现的效果
实现思路
给每个元素添加@mouserover事件和@mouseleave事件
绑定函数,传用于识别当前参数的标识
根据所传参数判断当前状态下应该显示什么图片
解析渲染
实现过程
从json文件中读取图片信息集合,循环渲染json文件中的图片,传当前元素和当前图片的一些信息过去
引入json文件,并在data()中声明
import emoji from '../assets/json/emoji'; data() { return { emojiList:emoji, toolbarList:toolbar } }
实现鼠标移入移除替换图片的函数
// 表情框鼠标悬浮显示动态表情 emojiConversion:function (event,status,path,hoverPath) { if(status==="over"){ event.target.src = require(`../assets/img/emoji/${hoverPath}`); }else{ event.target.src = require(`../assets/img/emoji/${path}`); } } emoji.json [ { "name": "pout", "src": "1fix@2x.png", "info": "撇嘴", "hover": "1@2x.gif" }, { "name": "porn", "src": "2fix@2x.png", "info": "色", "hover": "2@2x.gif" }, { "name": "smile", "src": "14fix@2x.png", "info": "微笑", "hover": "14@2x.gif" }, { "name": "smile", "src": "178fix@2x.png", "info": "滑稽", "hover": "178@2x.gif" } ]
踩坑过程
错误的使用require
// 这样直接在data中写文件路径没问题,可以正常渲染 emojiSrc:{ "funny":require("../assets/img/emoji/178fix@2x.png"), "funnyNormal":require("../assets/img/emoji/178fix@2x.png"), "funnyHover":require("../assets/img/emoji/178@2x.gif"), "smile":require("../assets/img/emoji/14fix@2x.png"), "smileNormal":require("../assets/img/emoji/14fix@2x.png"), "smileHover":require("../assets/img/emoji/14@2x.gif"), "pout":require("../assets/img/emoji/1fix@2x.png"), "poutNormal":require("../assets/img/emoji/1fix@2x.png"), "poutHover":require("../assets/img/emoji/1@2x.gif"), "porn":require("../assets/img/emoji/2fix@2x.png"), "pornNormal":require("../assets/img/emoji/2fix@2x.png"), "pornHover":require("../assets/img/emoji/2@2x.gif"), }
渲染结果:
但是如果在json文件中写文件的路径,渲染结果(无法识别文件路径):
解决方案:使用模板字符串,json文件只写文件名,文件路径写在当前组件
require的正确使用方式
require(`../assets/img/emoji/${hoverPath}`);
看完了这篇文章,相信你对“怎么使用Vue实现base64编码图片间的切换功能”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!