vue 解决data中定义图片相对路径页面不显示的问题
vue在data中定义图片相对路径:
data() { return { active: 1, icon: { active: '../assets/images/home-selected.png', inactive: '../assets/images/home.png' } }; }
页面使用vant的标签栏自定义图标:
<van-tabbar v-model='active'> <van-tabbar-item info='3'> <!-- <span>首页</span> --> <img slot='icon' slot-scope='props' :src='https://www.haobala.com/bcjs/props.active ? icon.active : icon.inactive' /> </van-tabbar-item> <van-tabbar-item icon='search'>标签</van-tabbar-item> <van-tabbar-item icon='setting-o'>标签</van-tabbar-item> </van-tabbar>
结果图片没有在页面上显示,
解决办法:
1:使用绝对路径,域名形式:https://
2:使用require:
data() { return { active: 1, icon: { active: require('../assets/images/home-selected.png'), inactive: require('../assets/images/home.png') } }; }
补充知识:Vue在data中存入静态图片地址,使用别名引入的方法
在项目开发中,icons的引入遇见了麻烦
在data中存入一组图片地址,并且循环渲染到组件上
<div v-for='icon of list' :key='icon.type' @click='Jump(icon.type)'> <img :src='https://www.haobala.com/bcjs/icon.imgUrl' /> <p class='icons-desc'>{{icon.desc}}</p></div>data () { return { list: [ { 'type': 'scenic', 'imgUrl': ’assets/webIcons/scenic.png’, 'desc': '景点门票' } ] } }
webpack已经配置了别名
resolve: { extensions: [’.js’, ’.vue’, ’.json’], alias: { ’vue$’: ’vue/dist/vue.esm.js’, ’@’: resolve(’src’), ’styles’: resolve(’src/assets/styles’), ’common’: resolve(’src/common’), ’assets’: resolve(’src/assets’) } },
但是发现有问题
图片地址没有背正确的解析
解决办法
在html中 需要在别名前面加上 ~ 符号
<img src='https://www.haobala.com/bcjs/~assets/webIcons/scenic.png' />
在js中,需要使用require(’url’)
list: [ { 'type': 'scenic', 'imgUrl': require(’assets/webIcons/scenic.png’), 'desc': '景点门票' } ]
这样图片就可以成功引入了
以上这篇vue 解决data中定义图片相对路径页面不显示的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持好吧啦网。
相关文章:
1. IDEA的Mybatis Generator驼峰配置问题2. Express 框架中使用 EJS 模板引擎并结合 silly-datetime 库进行日期格式化的实现方法3. javascript设计模式 ? 建造者模式原理与应用实例分析4. 一篇文章带你了解JavaScript-对象5. IntelliJ IDEA设置条件断点的方法步骤6. Python使用oslo.vmware管理ESXI虚拟机的示例参考7. Java构建JDBC应用程序的实例操作8. Spring应用抛出NoUniqueBeanDefinitionException异常的解决方案9. python flask框架快速入门10. Jsp中request的3个基础实践
