Vue.js v-代表不工作

Vue.js v-for not working

我正在尝试 Vue.js,但我 运行 遇到了问题。我正在学习 Laracasts 上的教程,但我的 v-for 不工作。

HTML:

<div id="root">
  <ul>
    <li v-for="name in names" v-text="name"></li>
  </ul>

  <input type="text" v-model="newName">
  <button @click="addName">Add Name</button>
</div>

JS:

new Vue({
    el: '#root',
    data: {
        newName: '',
      names: ['John', 'Mike']
    }
    methods: {
        addName() {
        this.names.push(this.newName);
        this.newName = '';
      }
    }
})

Fiddle: https://jsfiddle.net/4pb1f4uq/

如果有帮助,link 到 Laracast with episode: https://laracasts.com/series/learn-vue-2-step-by-step/episodes/4?autoplay=true

您缺少 data 对象后的逗号:

data: {
  newName: '',
  names: ['John', 'Mike']
},  // comma here

您有一个简单的语法错误 - "data" 和 "methods" 对象之间缺少一个逗号:

data: {
  newName: '',
  names: ['John', 'Mike']
}, //this comma was missing

这个版本的 fiddle 添加了它,并显示它正在运行:https://jsfiddle.net/4pb1f4uq/1/

您可以通过检查浏览器控制台中的错误(按 F12)自己轻松检测到此类事件。它会突出显示语法错误,通常您可以单击错误并转到有问题的代码行。