话不多说,直接上代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Vue父子组件传值</title>
<script type="text/javascript" src="./Vue.js"></script>
</head>
<body>
<div id="root">
<number ref="ref1" @change="handleChange"></number>
<number ref="ref2" @change="handleChange"></number>
<div>{{count}}</div>
</div>
<script type="text/javascript">
Vue.component('number', {
template: "<div @click='handleNumberClick'>{{number}}</div>",
data: function() {
return {
number: 0
}
},
methods: {
handleNumberClick: function() {
this.number ++
this.$emit('change')//向父组件发送一个消息
}
}
})
var vm = new Vue({
el: "#root",
data: {
count: 0
},
methods: {
handleChange: function() {
this.count = this.$refs.ref1.number + this.$refs.ref2.number
}
}
})
</script>
</body>
</html>