Vue 2.0 小栗子初入坑

HTML代码:
<div id = "app">
  <input v-model="newTodo" v-on:keyup.enter="addTodo">
  <ul>
    <li v-for="todo in todos_1">
      <span>{{ todo.text }}</span>
      <button v-on:click="removeTodo($index)">X</button>
    </li>
  </ul>
</div>
JavaScript代码:
new Vue({
  el: '#app',
  data: {
    todos_1: [{
      text: 'Learn JavaScript'
    }]
  },
  methods: {
    addTodo: function() {
      var text = this.newTodo.trim()
      if(text) {
    this.todos_1.push({
      text: text
    })
    this.newTodo = ''
      }
    },
    removeTodo: function(index) {
      this.todos_1.splice(index, 1)
    }
  },
})

运行上面的代码,打开谷歌控制台,在输入框输入,发现控制台报错,错误原因:[Vue warn]: You are setting a non-existent >path "newTodo" on a vm instance. Consider pre-initializing the property with the "data" option for more reliable reactivity and >better performance.。输入框的例子在官方前面的例子也有出现,对比后发现v-model="newTodo",中的“newTodo”没有在>data中进行定义,所以只需在data{}中加入newTodo: ' '即可!这个错误看起来好像在运行过程中没有什么影响,但天知道以后会>不会被他坑惨,所以记录一下!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容