2
我使用lodash調用去抖功能的組件上,像這樣:如何正確使用Vue的JS與lodash防抖動看
...
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
}
}
}
- 問題1是我的方法
checkSearchStr
不知道foo
- 問題2是我的店是
undefined
以及
爲什麼沒有我的方法知道this
通過01調用時?什麼是正確的用法?
我認爲函數內部的'this'(this.foo)不是VueJS。 – rogeriolino
@rogeriolino那不正確。當組件被實例化時,該方法被綁定到組件。換句話說,'this' *將會是Vue。 – Bert
我剛剛發現了'debounce'的Vue.js文檔(文檔 - https://vuejs.org/v2/guide/migration.html#debounce-Param-Attribute-for-v-model-removed)。感謝您的回答(第2部分),這非常有幫助。我不應該在觀看的元素上運行'debounce'。 – Grigio