Есть у меня вычисляемое свойство "posts", которое возвращает записи, в зависимости от поисковой строки. Ранее я думал, что computed находит зависимости только исходя от оператора return. К примеру (т.е. зависимости this.firstName и this.lastName):
const fullName = computed(() => this.firstName + ' ' + this.lastName)
Но вот незадача, вычисляемой свойство "posts" вызывается при изменении store.state.search.query (строка, содержащая запрос). И такой вопрос, как он знает об этой зависимости, если она указана только в теле свойства. Самое интересное, что если этой строки (store.state.search.query) нет в теле, то вычисляемой свойство не вызывается (проверял через консоль). Также вот ссылка на
репозиторий. Раскройте магию, пожалуйста :)
const posts = computed(() => {
const query: string = store.state.search.query
if (query) {
return store.state.posts.filter((post: IPost) => {
return query
.toLowerCase()
.split(' ')
.every((v) => post.title.toLowerCase().includes(v))
})
}
return store.state.posts
})