У меня есть простое поле ввода в шаблоне Vue, и я хотел бы использовать debounce более или менее следующим образом:
<input type="text" v-model="filterKey" debounce="500">
Однако свойство debounce
устарело в Vue 2. В рекомендации говорится: "использовать v-on: вход + функция дебаза третьей стороны".
Как вы его правильно реализуете?
Я попытался реализовать его с помощью lodash, v-on: input и v-model, но мне интересно, можно ли обойтись без дополнительной переменной.
В шаблоне:
<input type="text" v-on:input="debounceInput" v-model="searchInput">
В сценарии:
data: function () {
return {
searchInput: '',
filterKey: ''
}
},
methods: {
debounceInput: _.debounce(function () {
this.filterKey = this.searchInput;
}, 500)
}
Затем фильтр-ключ используется позже в computed
реквизитах.