title: How to correctly use Vue JS watch with lodash debounce
body: <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>