我正在尝试生成由src
生成的每个li
项目的v-for
链接。
我有一些字符串的列表... ["Electronics","Furniture", "Cloths", "Sports", "Entertainment", "Others"]
,并且在每个标签中
src
来生成一些字符串。
例如:
第一项是电子产品,因此路径将为@/assets/Electronics.png
,并且将显示图像
第二项是“家具”,因此路径为@/assets/Furniture.png
我该怎么做才能证明img
应该如何定义此路径?
<ul class="menu-dropdown">
<li v-for="item in items" :key="item" class="center align-self-center">
<img class="float-left" :src="getPicture(item)" v-bind:alt="item" />
<a href="#"><h3>{{item}}</h3></a>
</li>
</ul>
<script>
export default {
name: 'Header',
props:{},
data() {
return {
items: ["Electronics", "Furniture", "Cloths", "Sports", "Entertainment", "Others"]
}
},
methods:{
getPicture(item){
return '@/assets/' + item + ".png"
}
}
}
</script>
答案 0 :(得分:1)
在数据属性中
我认为您应该使用名称和src创建对象数组,然后导入每个图像。
<script>
import electronicSrc from "@/path/to/img/electronic";
import furnitureSrc from "@/path/to/img/furniture";
export default {
name: 'Header',
props:{},
data() {
return {
items = [{ category: "Electronics", src: electronicImg}, { category: "Furniture", src: furnitureImg}, { category: "Cloths", src: clothImg}, .. ];
}
},
}
</script>
修改模板
<li v-for="item in items" :key="item" class="center align-self-center">
<img class="float-left" :src="item.src" v-bind:alt="item.category" />
<a href="#"><h3>{{ item.category }}</h3></a>