You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue绑定background-image时domain与item.url拼接异常如何解决

问题原因

  • 原Vue实例代码存在语法错误,导致实例初始化失败,绑定逻辑不生效
  • backgroundImage的url()参数未包裹引号,路径含特殊字符时会解析失败
  • 需注意域名和路径的斜杠冲突,避免拼接后出现重复斜杠

修复后的JS代码

var vm = new Vue({
  el: '#app',
  data: {
    items: [],
    domain: "https://example.com/"
  },
  mounted: function () {
    // 此处补充你的items数据请求逻辑,下方为测试示例
    this.items = [
      {url: 'test1.jpg', text: '测试内容1'},
      {url: 'test2.jpg', text: '测试内容2'}
    ]
  }
})

修复后的HTML代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id ="app">
  <div 
    v-for="item in items" 
    class="gallery-cell" 
    v-bind:style="{ backgroundImage: 'url(\'' + domain + item.url + '\')' }"
  >{{ item.text}}</div>
</div>

额外注意事项

  • 如果你的item.url本身开头就带/,请把domain末尾的/删掉,避免拼接后出现https://example.com//test.jpg的错误路径
  • 如果需要兼容路径含中文、空格的场景,可在拼接时套一层encodeURI()处理:'url(\'' + encodeURI(domain + item.url) + '\')'

内容的提问来源于stack exchange,提问作者Vzupo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:18:01