Vuejs 在数组中的项目上使用 v-model 时,数据绑定不起作用

Bri*_*asa 4 vuejs2

Vue.js 新手。不知道我哪里出错了。我有一个动态用户列表,您可以添加到其中。我还有一个选择,我想随时了解用户的任何模型更改。但是,当我更改用户信息时,选择不会更新。我已附上代码和小提琴。

HTML:

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.0.3/vue.js"></script>
<div id="app">
  <h1>Users</h1>
  <div v-for="user in users">
    User ID: <input type="text" v-model="user.id" /><br /> 
    First Name: <input type="text" v-model="user.firstName" /><br />
    Last Name: <input type="text" v-model="user.lastName" />
    <br />
  </div>
  <input type="button" value="Add User" v-on:click="addUser" />
  <br /><br />
  This select should stay synced with what is entered above<br />
  <select>
    <option v-for="user in users" v-bind:value="user.firstName">{{user.firstName}} {{user.lastName}}</option>
  </select>
</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript:

var app = new Vue({
    el: "#app",
    data: {
        users: [{}]
    },
    methods: {
        addUser: function() {
        this.users.push({});
      }
    }
});
Run Code Online (Sandbox Code Playgroud)

小提琴: https: //jsfiddle.net/rmekuuc3/

Ber*_*ert 5

这是Vue 中的变更检测警告。Vue 无法检测到您何时向对象添加尚未存在于该对象上的属性。相反,您应该像这样编写代码。

var app = new Vue({
    el: "#app",
    data: {
      users: [{id: null, firstName: null, lastName: null}]
    },
    methods: {
      addUser: function() {
        this.users.push({id: null, firstName: null, lastName: null});
      }
    }
});
Run Code Online (Sandbox Code Playgroud)

更新了小提琴