点击提交可增加li,点击li可删除当前li
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script src="./vue.js"></script> </head> <body> <div id="root"> <input v-model="inputValue" /> <button @click="change">提交</button> <ul> <todo-item v-for="(item,index) of list":key="index" :content="item" :index="index" @delete="handleDelete"><!--监听delete,当delete触发之后执行父组件下面的handleDelete事件--> </todo-item> <!--将item,index从父组件(id为root的div)传递到子组件(li)用属性绑定--> <!--将item传到全局组件里面才能使用--> </ul> <zujian></zujian> </div> <script> Vue.component('todo-item',{ //定义名为todo-list的全局组件 props:['content','index'], template:'<li @click="handleClick">{{content}}{{index}}</li>', methods:{ //组件也是实例 handleClick:function(){ this.$emit('delete',this.index) //点击item之后触发emit事件里面的delete事件值为index, } } }) var zujian={ //定义名为zujian的局部组件,并且必须在new Vue里面声明(28行)。 template:'<div>这是局部组件</div>' } new Vue({ el:"#root", components:{ 'zujian':zujian }, data:{ inputValue:'', list:[] }, methods:{ change:function(){ this.list.push(this.inputValue); this.inputValue='' //将"input”放入list里面之后将其初始为空 }, handleDelete:function(index){ this.list.splice(index,1) } } }) </script> </body> </html>