title: Vue js data binding doesn't work
body: <p>I'm trying to create a vue component but whenever I want to hide some elements with <code>v-show</code> it doesn't work.</p>
  
  <p>When you click any element on the list I want to hide it and on the click event <code>element.visible</code> is set to false, so in the component template I bind that value to <code>v-show</code> but it wont hide.</p>
  
  <p>I guess it's because <code>element.visible</code> it's kind of nested attribute but I'm not really sure.</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>var collection = [
          { id: 1, name: 'element 1' },
          { id: 2, name: 'element 2' },
          { id: 3, name: 'element 3' },
          { id: 4, name: 'element 4' },
          { id: 5, name: 'element 5' },
          { id: 6, name: 'element 6' },
          { id: 7, name: 'element 7' },
          { id: 8, name: 'element 8' },
        ];
  
  var multiselect = {
    props: ['collection'],
    data: function() {
      return {
        subscribed: [],
        toSubscribe: [],
        toUnsubscribe: [],
        dataset: []
      }
    },
    mounted: function(){
     this.dataset = _.map(this.collection, function(element){
       element.visible = true;
        return element;
      });
    },
    methods: {
      subscribe: function(element){
     element.visible = false;
      }
    }
  
  }
  
  new Vue({
    el: '#app',
    components: {
      'multiselect': multiselect
    },
    data: {
      elements: collection
    }
  })</code></pre>
  <pre class="snippet-code-css lang-css prettyprint-override"><code>.multiselect .list {
    border: 1px solid #000;
    height: 215px;
    max-height: 215px;
    overflow: scroll;
  }
  .multiselect .list .list-element {
    text-align: center;
    padding: 0.2em;
    cursor: pointer;
  }
  .multiselect .list .list-element:hover {
    background-color: #d6dbdf;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/&gt;
  &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;
  &lt;script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"&gt;&lt;/script&gt;
  &lt;link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/&gt;
  &lt;script src="https://cdn.jsdelivr.net/npm/lodash@4.17.4/lodash.min.js"&gt;&lt;/script&gt;
  &lt;script src="https://unpkg.com/vue@2.5.13/dist/vue.js"&gt;&lt;/script&gt;
  
  
  
  &lt;div id="app"&gt;
  
    &lt;multiselect inline-template :collection="elements"&gt;
      &lt;div class="col-sm-12 multiselect"&gt;
  
        &lt;div class="col-sm-5 list"&gt;
          &lt;div class="col-sm-12"&gt;
            &lt;div v-for="element in dataset" class="list-element" @click="subscribe(element)" v-show="element.visible"&gt;
              {{element.name}}
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
  
        &lt;div class="col-sm-2"&gt;
          &lt;button class="btn btn-primary btn-fill"&gt;
            &lt;i class="fa fa-arrow-right" aria-hidden="true"&gt;&lt;/i&gt;
          &lt;/button&gt;
  
          &lt;button class="btn btn-primary btn-fill"&gt;
            &lt;i class="fa fa-arrow-left" aria-hidden="true"&gt;&lt;/i&gt;
          &lt;/button&gt;
        &lt;/div&gt;
  
        &lt;div class="col-sm-5 list"&gt;
  
        &lt;/div&gt;
  
      &lt;/div&gt;
    &lt;/multiselect&gt;
  
  
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>