不多说,直接上代码
下面的知识点包含
1.emit("事件名") 主动触发一个事件
2.@delete 等价于 v-on:click
3.v-bind: 等价于 :
4.v-bind 绑定属性
5.v-for="(item,index) in list 获取列表中的每个值及其下标(从0开始)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>简单的组件传值</title>
<script src="vue.js"></script>
</head>
<body>
<div id = 'app2'>
<input type='text' v-model='inputVal'/>
<button @click='addToList'>提交</button>
<ul >
<com v-bind:con1="item" v-bind:index="index" v-for="(item,index) in list"
@delete="deleteOne" ></com>
</ul>
</div>
<script>
var com = {
props:['con1','index'],
template:'<li @click="itemClick">{{con1}}</li>',
methods:{
itemClick:function(){
this.$emit("delete",this.index);
}
}
};
var app = new Vue({
el:'#app2',
data:{
list:[],
inputVal : ''
},
components:{
com:com
},
methods:{
addToList:function(){
this.$data.list.push(this.inputVal);
this.inputVal = '';
},
deleteOne:function(index){
alert(index);
this.list.splice(index,1);
}
}
});
</script>
</body>
</html>