关于vue的img标签绑定的src的路径找不到的问题

在前端开发中,img标签的src属性非常常见,有很多时候需要使用内联样式来绑定此属性,但是在vue-cli项目中,我们无法通过常见的../这样的相对路径来使用图片,通常需要使用别名,我的项目里已经设置@作为src的别名,但是由于该对象是作为地图组件中marker类的图标使用,因此在经过高德地图的地图组件渲染后,得到的效果如下:

var img = document.createElement('img')
    img.src = "@/assets/map_images/place.png"
    img.style.height = '35px';
    img.style.width = '30px';

《关于vue的img标签绑定的src的路径找不到的问题》《关于vue的img标签绑定的src的路径找不到的问题》

我们可以看到经过地图组件渲染后,src被直接解析成了普通的字符串,这里虽然已经使用了别名,但是并没能被解析成url,经过查找资料,发现可以使用node.js的require方法获取到图片的url,再将图片的url作为src路径使用,效果如下:

 var img = document.createElement('img')
     img.src =  require('@/assets/map_images/place.png')
     img.style.height = '35px';
     img.style.width = '30px';

《关于vue的img标签绑定的src的路径找不到的问题》《关于vue的img标签绑定的src的路径找不到的问题》
至此,在地图组件内使用url无法解析的问题得到了解决。

    原文作者:连理枝
    原文地址: https://segmentfault.com/a/1190000017237511
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞