verwende ich lodash bin mit wie so eine Entprellfunktion auf einer Komponente zu nennen:Wie Sie sich richtig Vue JS Uhr mit lodash debounce
...
import _ from 'lodash';
export default {
store,
data:() => {
return {
foo: "",
}
},
watch: {
searchStr: _.debounce(this.default.methods.checkSearchStr(str), 100)
},
methods: {
checkSearchStr(string) {
console.log(this.foo) // <-- ISSUE 1
console.log(this.$store.dispatch('someMethod',string) // <-- ISSUE 2
}
}
}
- Ausgabe 1 ist, dass meine Methode
checkSearchStr
nicht kenntfoo
- Ausgabe 2 ist, dass mein Geschäft
undefined
auch ist
Warum meine Methode wissen this
nicht, wenn durch 01 genannt? Und was ist die richtige Verwendung?
Ich denke, dass das 'this' (this.foo) in der Funktion nicht der VueJS ist. – rogeriolino
@rogeriolino Das ist nicht korrekt. Wenn eine Komponente instanziiert wird, ist die Methode an die Komponente gebunden. Mit anderen Worten, 'this' * wird * der Vue sein. – Bert
Ich habe gerade die Vue.js Dokumentation für 'debounce' gefunden (docs - https://vuejs.org/v2/guide/migration.html#debounce-Param-Attribute-for-v-model-removed). Danke für deine Antwort (Teil 2), es war sehr hilfreich. Ich sollte nicht "debounce" auf dem überwachten Element ausführen. – Grigio