Так что теперь я делаю это, чтобы упорядочить свои результаты по категориям, но если мне кажется, что это может быть лучше:
<div><h2>Gloves</h2></div>
<div v-for="stash in stashes" :key="stash.id">
<div v-for="item in stash.items" :key="item.id">
<div v-if="item.extended.subcategories[0] === 'gloves'">
{{ item.extended.baseType }}
</div>
</div>
</div>
<div><h2>Boots</h2></div>
<div v-for="stash in stashes" :key="stash.id2">
<div v-for="item in stash.items" :key="item.id2">
<div v-if="item.extended.subcategories[0] === 'belt'">
{{ item.extended.baseType }}
</div>
</div>
</div>
<div><h2>Helmets</h2></div>
..
<div><h2>Weapons</h2></div>
..
Если найдено , эта статья делает это с вычисляемым свойством и я чувствую, что так должно быть, но я не могу заставить его работать (также, потому что мне нужен аргумент, чтобы он работал так, я думаю?):
computed: {
filter(category) {
return this.stashes.items.filter(a => a.extended.subcategories[0] === category);
}
}
, а затем что-то вроде этого:
<div v-for="item in filter('gloves')" :key="item.id">
..
</div>
Но да, это говорит о том, что я не могу передать аргумент в пользу l oop, как это, поэтому на этом я и закончил.
Кто-нибудь понял, как сделать это?
Тайники выглядят так:
stashes: [
{
id: 1
items: [{
name: 'lorem',
extended: {
subcategories: ["gloves"]
}
}]
},
{
id: 2
items: [{
name: 'ipsum',
extended: {
subcategories: ["boots"]
}
}]
},
]