首页 > 解决方案 > VueJs/Nuxt 过滤数组,错误_vm.filtered.. is not a function

问题描述

我是 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>

这失败了..我的方法有什么问题..

感谢帮助。

标签: vue.jsfiltervuejs2

解决方案


我建议为“filteredArchive”而不是过滤器创建一个计算属性。事实上,我相信过滤器将在 Vue 3 中消失。如果你需要跨组件共享逻辑,你可以将它放在一个 mixin 中。


推荐阅读