title: Changing watcher value in watcher
body: <p>I have some code similar to below:</p>
  
  <pre><code>&lt;some_component v-model="some_value" /&gt;
  {{ some_value }}
  </code></pre>
  
  <p>In my script code I have the following:</p>
  
  <pre><code> ...
   data() {
       return {
           some_value: 'initial'
       };
   },
   ...
   watch: {
       some_value(new_value, old_value) {
           // Small subset of code, actual code does much more than this
           if (new_value === 'some_new_value') {
                this.some_value = 'can not use that value';
           }
       }
   },
   ...
  </code></pre>
  
  <p>So everything seems be functioning fine, until I try to change the value I'm watching from within the watcher itself.  I would expect the watcher to fire again, but it doesn't and although value of the <code>v-model</code> changes, it does't change in the UI.</p>
  
  <p>I tried using <code>this.$forceUpdate()</code> before and after change but it didn't seem to work.</p>
  
  <p>Can anyone tell me what I'm doing wrong here?</p>