title: Vue JS: Setting computed property not invoking v-if
body: <p>When a method sets a computed property, v-ifs are not getting invoked.  I thought a computed property logically worked just like a 'regular' property.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>// theState can't be moved into Vue object, just using for this example
  var theState = false; 
  var app = new Vue({
    el: '#demo',
    data: {
    },
    methods: {
       show: function() {
          this.foo = true;
       },
       hide: function() {
          this.foo = false;
       }
    },
    computed: {
      foo: { 
        get: function() {
          return theState;
        },
        set: function(x) {
          theState = x;
        }
      }
    }
  })</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"&gt;&lt;/script&gt;
  &lt;div id="demo"&gt;
    &lt;input type=button value="Show" @click="show()"&gt;
    &lt;input type=button value="Hide" @click="hide()"&gt;
    &lt;div v-if="foo"&gt;Hello&lt;/div&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>Am I doing something wrong?</p>