Попытка отфильтровать коллекцию сущностей (типичное сообщение в блоге) по некоторым значениям, используя функцию фильтра 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 Dev, я замечаю, что у меня ошибка
сообщения: "(ошибка при оценке)"
Но это действительно странно для меня.
Я ушел от этой реализации:
export const getters = {
postsWithoutCurrentPost: state => (slug, category) =>
_filter(state.posts, post => post.fields.slug !== slug)
}
, который работает без ошибок, очевидно, без учета фильтрации по категориям.
Почему при добавлении условия метод перестает работать? Где я делаю не так?