title: V-model does not get updated after checkbox clicked
body: <p>Any idea how to resolve this problem:</p>
  
  <p>in this <a href="https://codepen.io/jh-thank-you/pen/qjVWOj?editors=1010" rel="noreferrer">example</a>, the author uses vue 2.3.2 which works perfect, </p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="false" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>new Vue({
    el: '#app',
    data: {
      users: [{
          "id": "Shad",
          "name": "Shad"
        },
        {
          "id": "Duane",
          "name": "Duane"
        },
        {
          "id": "Myah",
          "name": "Myah"
        },
        {
          "id": "Kamron",
          "name": "Kamron"
        },
        {
          "id": "Brendon",
          "name": "Brendon"
        }
      ],
      selected: [],
      allSelected: false,
      userIds: []
    },
    methods: {
      selectAll: function() {
        this.userIds = [];
  
        if (this.allSelected) {
          for (user in this.users) {
            this.userIds.push(this.users[user].id.toString());
          }
        }
      },
      select: function() {
        this.allSelected = false;
      }
    }
  })</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://cdn.jsdelivr.net/vue/latest/vue.js"&gt;&lt;/script&gt;
  
  &lt;div id="app"&gt;
    &lt;h4&gt;User&lt;/h4&gt;
    &lt;div&gt;
      &lt;table&gt;
        &lt;tr&gt;
          &lt;th&gt;Name&lt;/th&gt;
          &lt;th&gt;Select All&lt;input type="checkbox" @click="selectAll" v-model="allSelected"&gt;&lt;/th&gt;
        &lt;/tr&gt;
        &lt;tr v-for="user in users"&gt;
          &lt;td&gt;{{ user.name }}&lt;/td&gt;
          &lt;td&gt;&lt;input type="checkbox" v-model="userIds" @click="select" :value="user.id"&gt;&lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
    &lt;/div&gt;
  
    &lt;span&gt;Selected Ids: {{ userIds }}&lt;/span&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>when I switch it to 2.5.16 ( <strong><code>&lt;script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"&gt;&lt;/script&gt;</code></strong>  ) , the behavior is wierd:</p>
  
  <p>When click the selectAll checkbox, only that checkbox checked, but when I toggle it to uncheck, all the checkboses below get checked</p>
  
  <p><a href="https://i.stack.imgur.com/Q8Npy.jpg" rel="noreferrer"><img src="https://i.stack.imgur.com/Q8Npy.jpg" alt="enter image description here"></a></p>
  
  <p><a href="https://i.stack.imgur.com/oni5S.jpg" rel="noreferrer"><img src="https://i.stack.imgur.com/oni5S.jpg" alt="enter image description here"></a></p>
  
  <p><a href="https://i.stack.imgur.com/eRcLa.jpg" rel="noreferrer"><img src="https://i.stack.imgur.com/eRcLa.jpg" alt="enter image description here"></a></p>