I have the following data:
export const myData = [
{
id: 1,
lang: "it",
items: [
{
id: 1,
title: "IT Page1",
},
{
id: 2,
title: "IT Page2",
},
{
id: 3,
title: "IT Page3",
}
]
},
{
id: 2,
lang: "en",
items: [
{
id: 1,
title: "EN Page1",
},
{
id: 2,
title: "EN Page2",
},
{
id: 3,
title: "EN Page3",
}
]
}
]
my loop does the following:
<ul v-for="(item, i) in myData" :key="i">
<li>{{ item.items[i].title }}</li>
</ul>
and outputs only:
IT Page1 EN Page2
but (the loop above) should output all data for both languages, right? Also, how can i choose language (statically or dynamically)?
Advertisement
Answer
You should make two loops and render the selected language conditionally using v-if :
<div v-for="(item, i) in myData" :key="i">
<template v-if="item.lang==='it'">
<ul v-for="(subItem, j) in item.items" :key="j">
<li>{{ subItem.title }}</li>
</ul>
</template>
</div>