我是Vue/Nuxt的新手,尝试过滤一个数组。
computed: mapState({
entries: state => state.archives.archives
}),
filteredArchive, function (objects, key) {
if (objects) {
return objects.filter(function(object) {
return object.tag === key
})
}我想在一个循环中得到结果:
<li v-for="(entry, index) in (entries | filteredArchive('test'))">{{ entry.title }}</li>此操作失败..我的方法出了什么问题..
谢谢你的帮助。
发布于 2020-03-26 21:52:54
我建议为"filteredArchive“创建一个计算属性,而不是过滤器。事实上,我相信过滤器会在Vue 3中消失。如果你需要在组件之间共享逻辑,你可以把它放在一个mixin中。
发布于 2020-04-01 20:08:48
好的。这是我目前的解决方案:
<ul>
<li v-for="(entry, index) in filteredByTag(entries, 'test')">
<nuxt-link :to="'archive/' + entry.id">{{ entry.title }}</nuxt-link>
</li>
</ul>
computed: mapState({
entries: state => state.archives.archives,
}),
methods: {
filteredByTag(entries, tag){
return entries.filter((entry) => {
return entry.tag.match(tag)
})
}
},https://stackoverflow.com/questions/60868828
复制相似问题