Así sede fuera de este hilo he implementado este fragmento:
methods: {
checkSearchString: _.debounce( string => {
console.log("watcher firing for search!");
console.log(this.searchInput);
this.$emit("search", this.searchInput);
}, 2000)
},
watch: {
searchInput : "checkSearchString"
}
pero como comentarios sobre la respuesta aceptada señalaron, "esto" no apunta a la instancia vue, así que no puedo acceder a ella. ¿Cómo podría acceder a la instancia vue dentro de la función? o ¿cómo podría resolver esto mejor?
el objetivo principal aquí es utilizar _.debounce y un vigilante para disparar la búsqueda cuando el usuario deja de escribir, y lograr que de una manera limpia.
Edit: Gracias por señalar el uso de la función de flecha, como el problema de contexto aquí, los usuarios en el otro hilo hicieron punto a esta causa de los problemas, pero yo no entiendo por qué
se utiliza la función de flecha, que la pérdida de contexto. hacerlo con función anónima normales
watch: {
searchInput : "checkSearchString"
}
methods: {
checkSearchString: _.debounce( function(value) {
console.log("watcher firing for search!");
console.log(value);
this.$emit("search", value);
}, 2000)
},