title: Vuex computed property that listens to getter not updating
body: <p>I have a problem where my computed properties (that basically just calls a store getter with an id) does not get re-computed when the store changes. Anyone know why?</p>
  
  <p>Product computed (isInCart is the relavant one, the other just show that state changes works)</p>
  
  <pre><code>isInCart() {
      var isInCart = this.$store.getters['shoppingCart/isInCart'](this.product.id);
      return isInCart;
    }
  </code></pre>
  
  <p>Vuex store</p>
  
  <pre><code>const getters = {
    count: state =&gt; state.items.length,
    hasItems: state =&gt; !!state.items.length,
    isInCart(state) {
      return id =&gt; state.items.findIndex((item) =&gt; {
        return item.productId === id; 
      }) &gt; -1;
    }
  }
  </code></pre>
  
  <p>and state change is done by a mutation like this:</p>
  
  <pre><code>setCart(state, cart) {
      state.items = cart.items;
    },
  </code></pre>
  
  <p>The initial call to the getter works as expected. It's just that when the state is changed it is not ran again. The other getters "hasItem" and "count" work as expected.</p>
  
  <hr>
  
  <p>I also tried in my component to put the function directly into the computed like so:</p>
  
  <pre><code>computed: {
       ...mapState({
          isInCart(state) {
            var id = this.product.id;
            return !!state.shoppingCart.items.filter(item =&gt; item.productId === id).length
          }
        })
      },
  </code></pre>