找回密码
 立即注册
搜索
查看: 1556|回复: 11

[软件] 如何让vue的图片v-bind:src设定成绝对路径?

[复制链接]
     
发表于 2021-3-24 13:47 | 显示全部楼层 |阅读模式
vue设置了publicPath,图片的v-bind:src是来自后端的图片地址,然后在html页面里这个图片地址变成了vue服务端地址+publicPath+后端图片地址
如果有什么方法能够把:src设置成绝对路径应该就能正常显示,但网上搜了一大堆没有解决方案,要么就只能图片转blob或者canvas再渲染,太蛋疼了
回复

使用道具 举报

     
发表于 2021-3-24 13:59 | 显示全部楼层
你的 source 是线上的地址就别绑定呗 这还用搜?
回复

使用道具 举报

     
发表于 2021-3-24 14:01 | 显示全部楼层
再看了下可能误会了抱歉

意思是 <img :src="image"
image 是后端返回的线上地址吗

多放点代码出来呢?
回复

使用道具 举报

     
发表于 2021-3-24 15:35 | 显示全部楼层
图片地址import进来一个变量,单独src这个变量

不过不建议这样用
回复

使用道具 举报

     
 楼主| 发表于 2021-3-24 16:42 | 显示全部楼层
凶手 发表于 2021-3-24 14:01
再看了下可能误会了抱歉

意思是

简化的代码如下,很普通的异步加载后端动态图片列表
  1. <template>
  2.   <div v-for="item in itemList" :key="item.name">
  3.     <img :src="base + picAddr" />
  4.   </div>
  5. </template>
  6. <script>
  7. import {BASEPATH} from 'xxx'
  8. import {request} from 'yyy'

  9. export default {
  10.   computed: {
  11.     base() {
  12.       return BASEPATH + '/'
  13.     }
  14.   }
  15.   data() {
  16.     return {
  17.       itemList: []
  18.     }
  19.   },
  20.   methods: {
  21.     getItemList() {
  22.       let config= {
  23.         url: 后端图片api地址,
  24.         method: 'get',
  25.         header: { "Content-Type": 'application/json' }
  26.       }
  27.       request(config).then(res=>{
  28.         this.itemList = res.data
  29.       })
  30.     }
  31.   },
  32.   beforeMount() {
  33.     this.getItemList()
  34.   }
  35. }
  36. </script>
复制代码
回复

使用道具 举报

     
 楼主| 发表于 2021-3-24 16:44 | 显示全部楼层
宅男的爱 发表于 2021-3-24 15:35
图片地址import进来一个变量,单独src这个变量

不过不建议这样用

图片地址是后端传来的列表里才有,不能直接写死
回复

使用道具 举报

     
发表于 2021-3-24 19:26 | 显示全部楼层
处男鉴黄师 发表于 2021-3-24 16:42
简化的代码如下,很普通的异步加载后端动态图片列表

拼了base当然就是主楼里描述的情况了呀
回复

使用道具 举报

     
 楼主| 发表于 2021-3-24 19:28 来自手机 | 显示全部楼层
凶手 发表于 2021-3-24 19:26
拼了base当然就是主楼里描述的情况了呀

base是后端的地址,上面代码里没有任何前端的地址,但最后渲染出来就变成了前端地址+pulic path+后端图片地址
回复

使用道具 举报

     
发表于 2021-3-24 19:56 | 显示全部楼层
我寻思你要么直接整一个计算属性专门返回拼接完成的地址?
回复

使用道具 举报

     
 楼主| 发表于 2021-3-24 20:26 | 显示全部楼层
糊状物 发表于 2021-3-24 19:56
我寻思你要么直接整一个计算属性专门返回拼接完成的地址?

试过了一样。估计是因为设置了public path,最后渲染出来总会自动加上前端的地址
回复

使用道具 举报

     
发表于 2021-3-24 20:52 | 显示全部楼层
处男鉴黄师 发表于 2021-3-24 20:26
试过了一样。估计是因为设置了public path,最后渲染出来总会自动加上前端的地址 ...

加协议了吗 http https
回复

使用道具 举报

     
 楼主| 发表于 2021-3-24 21:13 | 显示全部楼层
凶手 发表于 2021-3-24 20:52
加协议了吗 http https

艹,果然加了协议就行了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-7-20 22:49 , Processed in 0.029454 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表