vue中动态设置img的src属性

3,174 阅读1分钟

碰到一个问题:vue2中,一个组件的js中创建一个Image实例,给了src也挂载到页面了但是图片一直出不来。

代码如下:

    var image = new Image(150, 150)
    var pic = document.querySelector('.pic')
    image.src = '@/assets/upload/pic4.jpeg'
    pic.appendChild(image)

控制台没有报错,但是页面上是这样

1.png

用MDN网站和菜鸟教程的模板测试也没有出现图片。

于是我打印到控制台看创建的img其他img中的路径有何区别

结果如下:

2.png

img里的src和我写的路径不一样可以显示,而src一样的却无法显示,那应该是vue框架的关系。

于是我把搜索关键词转换成了vue中img标签的src属性应该如何设置(之前搜索的是html中的img标签的src属性如何设置),然后找到了vue动态设置img的src属性的用法。

我的图片src/assets/upload路径下,需要使用import还是require进行引入。

于是我把src设置成

image.src = "require('@/assets/upload/pic4.jpeg')"

打印结果是:

3.png

还是没有效果。

看了几个博客都成功了,那应该是我写错了,于是我又改成了

image.src = require('@/assets/upload/pic4.jpeg')

这次成功了!!!

4.png

其实require这个地方找了很久,已经不记得什么时候该加引号,什么时候不需要了,如果有哪位大佬清楚,可以评论,多谢啦!!!

参考博客:

vue中img标签的src属性总结_小炮兵快跑的博客-CSDN博客_vue中img的src