如何正确使用Vue JS watch与lodash debounce

7 浏览
0 Comments

如何正确使用Vue JS watch与lodash debounce

我使用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) // <-- 问题1
            console.log(this.$store.dispatch('someMethod',string) // <-- 问题2
        }
    }
}

问题1是我的方法`checkSearchStr`不知道`foo`的存在。

问题2是我的store也是`undefined`。

为什么我的方法在通过`_.debounce`调用时不知道`this`是什么?正确的用法是什么?

0