【发布时间】:2021-02-20 07:18:18
【问题描述】:
我有 2 个 V-for 来渲染嵌套对象。在我的对象的第二层,我有一个图像,但我需要在我的第一个 V-for 上渲染该图像。
<div v-for="(fruit, key) in fruits" :key="key">
<div>
<img :src="IWantRenderImageHereFrom2ndVfor" alt="" />
<h1>{{ fruit }}</h1>
</div>
<div v-for="(piece, key) in fruit" :key="key">
<h2>{{ key }}</h2>
</div>
</div>
这是我的对象的结构
const fruits = {
apple: {
green: {
image: image1,
name: "green"
},
yellow: {
image: image1,
name: "yellow"
}
},
mango: {
red: {
image: image2,
name: "red"
},
pink: {
image: image2,
name: "pink"
}
}
};
每个 2 级对象都将具有我想在 1 级对象上渲染的相同图像。 我已经尝试抓取图像并在第一级创建一个新键,但是当循环渲染第二级时它会抛出一个错误
【问题讨论】:
-
错误信息是什么?
-
@Tony 基本上是因为第二级对象的循环具有 Image 没有的键,例如 mango.red.name 它呈现,但 mango.image.name 不存在。我不知道循环时是否可以跳过图像属性编辑:我已经用名称键更新了对象以便更容易理解
-
fruits的每个孙子都有一个image键,那么您想要哪个子代? -
@tony19 每个孙子都有相同的图像,所以我只想抓一个
标签: javascript loops vue.js object nested-object