<div id='root'> <ul> <todo-item></todo-item> </ul> </div> <script> Vue.component('todo-item',{ template:'<li>item</li>' }) </script>
<div id='root'> <ul> <todo-item></todo-item> </ul> </div> <script> var todoItem = { template:'<li>item</li>' } new Vue({ el:'#root', components:{ 'todo-item':todoItem } }) </script>
<div id='root'> <input v-model='inputValue'/> <button @click='handleSubmit'>提交</button> <ul> <todo-item v-for='(item,index) of list' :key='index' :content='item' :index='index' @delete='handleDelete' > </todo-item> </ul> </div> <script> Vue.component('todo-item',{ props:['content','index'], template:'<li @click="handleClick">{{content}}</li>', methods:{ handleClick:function(index){ this.$emit('delete',index) } } }) new Vue({ el:'#root', data:{ inputValue:'', list:[] }, methods:{ handleSubmit:function(){ console.log(this.inputValue); this.list.push(this.inputValue); this.inputValue = ''; }, handleDelete:function(index){ this.list.splice(index,1) } } }) </script>