5

我正在尝试使用 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 = '';
      }
    }
})

小提琴:https ://jsfiddle.net/4pb1f4uq/

如果有帮助,链接到 Laracast 与剧集: https ://laracasts.com/series/learn-vue-2-step-by-step/episodes/4?autoplay=true

4

2 回答 2

8

您在data对象后缺少逗号:

data: {
  newName: '',
  names: ['John', 'Mike']
},  // comma here
于 2017-04-19T08:42:49.403 回答
2

您有一个简单的语法错误 - “数据”和“方法”对象之间缺少逗号:

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

这个版本的小提琴添加了它,并显示它工作:https ://jsfiddle.net/4pb1f4uq/1/

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

于 2017-04-19T08:44:02.417 回答