1、父组件给子组件传递值(单项数据流) 父组件传递过来的值,子组件不能修改,需要自己克隆出来修改这个值 2、子组件传递父组件 this.$emit('inc', 2); // 向父组件传递事件(inc),传值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>父子组件传值</title>
<script src="../vue.js"></script>
</head>
<body>
<div id="root">
<counter :count="3" @inc="handleIncrease"></counter>
<counter :count="2" @inc="handleIncrease"></counter>
<div>{{total}}</div>
</div>
<script>
var counter = {
props: ['count'],
data: function() {
return {
number: this.count
}
},
template: '<div @click="handleClick">{{number}}</div>',
methods: {
handleClick: function () {
this.number = this.number + 2;
this.$emit('inc', 2);
}
}
}
var vm = new Vue({
el: '#root',
data: {
total: 5,
},
components: {
counter: counter
},
methods: {
handleIncrease: function (step) {
this.total += step;
}
}
});
</script>
</body>
</html>