Почему не работает фильтр Vue.js?

<ul>
	<input type="text" v-model="input" autofocus/>
	<li v-for="item in  array | filterBy input">{{item.name}}, {{item.age}}</li>
</ul>


У меня выводит ошибку
2390f3810fd94ab5a70163b8e11d8de4.PNG
Как это решить?
  • Вопрос задан
  • 850 просмотров
Решения вопроса 1
dosya97
@dosya97
Fullstack web-developer
Дело в том что в новых версиях vue, в частности, во второй версии Evan You отказался от нативных фильтров, оставив лишь кастомные. Как альтернативу, он предлагает использовать computed выражения. https://vuejs.org/v2/guide/migration.html#Filters
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Вам нужно что-то типа вот такого `item in array | filterBy(input)` и далее реализовать сам фильтр. Хотя не могу сейчас проверить будет ли работать в таком варианте. Обычная практика использовать вычисляемое свойство, которое будет содержать необходимые элементы и писать сразу вот так: `item in filteredArray`.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы