vue的v-for循环中图片加载路径问题

产品要求
在这里插入图片描述
要求图片和它的名字一一对应,
vue中的img的src可以动态绑定到一个变量上

<template>
<div>
  <ul>
      <li v-for ="item,index in array" :key="index">
          <img :src="item.url">
          <p>{{item}}</p>
      </li>
  </ul>
</div>
</template>
<script>
export default {
data(){
  return{
   array:[
      {url:'./picture/3.jpg', name:'眼影'},
      {url:'./picture/4.jpg', name:'眼影'},
      {url:'./picture/5.jpg', name:'眼影'},
      {url:'./picture/3.jpg', name:'眼影'},
    ]
  }
},
}
</script>

<style>

</style>

在这里插入图片描述

打开控制台显示:img 的src 已经是一个字符串,它不是我们想要的变量了。
它对a.url进行了一次解析变成了字符串,就完事了,绑定变量,就是解析一次。而对于url 来说,它本来就是变量,无法再进行分割解析,所以它会去data 里面去找,如果找不到,才报错。
把item.EnName 变成图片的地址,有人提到了require 方法,require 它是一个表达式,可以进行赋值操作。

<template>
<div>
  <ul>
      <li v-for ="item,index in array" :key="index">
          <img :src="item.url">
          <p>{{item}}</p>
      </li>
  </ul>
</div>
</template>
<script>
export default {
data(){
  return{
    array:[
      {url:require(`./picture/3.jpg`), name:'眼影'},
      {url:require(`./picture/4.jpg`), name:'眼影'},
      {url:require(`./picture/5.jpg`), name:'眼影'},
      {url:require(`./picture/3.jpg`), name:'眼影'},
    ]
  }
},
}
</script>

<style>

</style>
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐