子组件向父组件传值
2018-08-03 本文已影响0人
椰果粒
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>列表渲染</title>
<script src="https://unpkg.com/vue@2.5.16/dist/vue.js"></script>
</head>
<body>
<!--
父组件向子组件传值:
属性方式
子组件通过props来接收父组件传递来的数据
单向数据流:
父组件可以随意的向子组件传递参数,但子组件不可以随意修改父组件的内容,只可以用
因为担心父组件数据改变了后,其他引用了此子组件的值也就改变了
解决方式:子组件有个data,复制一份父组件的值
-->
<div id="app">
<counter :count="0" @change="inc"></counter>
<counter :count="1" @change="inc"></counter>
<div>总数是:{{total}}</div>
</div>
<script>
var counter = {
props : ['count'],
template : '<div @click="add">{{num}}</div>',
data : function(){
return {
num : this.count
}
},
methods : {
add : function(){
this.num ++;
// 向父组件:自己发生改变,步长是1
this.$emit("change",1);
}
}
}
var vm = new Vue({
el : "#app",
data : {
total : 1
},
components : {
counter : counter
},
methods : {
// step就是步长,也就是emit传递过来的
inc : function(step){
// alert('inc');
// console.log(step);
this.total += step;
}
}
})
</script>
</body>
</html>