У меня есть простое поле ввода в шаблоне Vue, и я хотел бы использовать дребезг более или менее, как это:Как реализовать debounce в Vue2?
<input type="text" v-model="filterKey" debounce="500">
Однако debounce
имущества было deprecated in Vue 2. В рекомендации говорится: «использовать v-on: вход + функция дебаза третьей стороны».
Как вы его правильно реализуете?
Я пытался реализовать его с помощью lodash, v-на: вход и v-модель, но мне интересно, если это можно сделать без дополнительной переменной.
В шаблоне:
<input type="text" v-on:input="debounceInput" v-model="searchInput">
В сценарии:
data: function() {
return {
searchInput: '',
filterKey: ''
}
},
methods: {
debounceInput: _.debounce(function() {
this.filterKey = this.searchInput;
}, 500)
}
filterkey затем используется позже в computed
реквизита.
Попробуйте один Http: // stackoverflow.com/questions/41230343/how-to-temporize-the-analysis-of-an-input-field/41232221#41232221 – sobolevn
Я бы предложил внимательно прочитать: https://vuejs.org/v2/guide/migration .html # debounce-Param-Attribute-for-v-model-deleted –
Существует e xample в руководстве: https://vuejs.org/v2/guide/computed.html#Watchers – Bengt