How to correctly use Vue JS watch with lodash debounce : <p>I'm using lodash to call a debounce function on a component like so:</p>

<pre><code>...
import _ from 'lodash';

export default {
    store,
    data: () =&gt; {
        return {
            foo: "",
        }
    },

    watch: {
        searchStr: _.debounce(this.default.methods.checkSearchStr(str), 100)
    },

    methods: {
        checkSearchStr(string) {
            console.log(this.foo) // &lt;-- ISSUE 1
            console.log(this.$store.dispatch('someMethod',string) // &lt;-- ISSUE 2
        }
    }
}
</code></pre>

<ul>
<li>Issue 1 is that my method <code>checkSearchStr</code> doesn't know about <code>foo</code></li>
<li>Issue 2 is that my store is <code>undefined</code> as well</li>
</ul>

<p>Why doesn't my method know <code>this</code> when called through <code>_.debounce</code>? And what is the correct usage?</p>
