尝试使用lodash过滤器功能按某些值过滤实体的集合(典型的博客文章)。 我正在使用Vue.js(最新版本)进行开发,并且具有一个带有一些吸气剂的vuex模块(post.js):
computed: {
...mapGetters('post', ['postBySlug', 'postsWithoutCurrentPost']),
posts() {
return this.postsWithoutCurrentPost(this.slug, this.category)
},
},
我用两个参数调用postsWithoutCurrentPost getter来过滤博客文章(来自vuex商店),并获取所有带有this.category减去当前博客文章(this.slug)的博客文章。
因此,postsWithoutCurrentPost实现如下:
export const getters = {
postsWithoutCurrentPost: state => (slug, category) =>
_filter(state.posts, post => post.fields.slug !== slug && post.fields.category.fields.name === category.fields.name)
}
检查Vue开发工具时,我发现我有一个错误
帖子:“(评估时出错)”
但这对我来说真的很奇怪。
我从此实现中退出:
export const getters = {
postsWithoutCurrentPost: state => (slug, category) =>
_filter(state.posts, post => post.fields.slug !== slug)
}
工作正常,没有出现任何错误,显然没有考虑按类别进行过滤。
为什么要添加条件才能使方法停止工作?我在哪里做错了?