子组件
<template>
<div>
<input id="box" class="mui-input-numbox" type="number" value="1" @change="numboxList" ref="numbox"/>
</div>
</div>
</template>
<script>
export default {
methods: {
numboxList () {
this.$emit('getcount', parseInt(this.$refs.numbox.value)) //通过$refs获取绑定ref的dom值
}
}
}
</script>
父组件
<template>
<div class="shopping_content">
<p class="num">购买数量:<numbox @getcount="getNumber"></numbox></p> //子组件调用getcount方法并传参
</div>
</template>
<script>
import store from '@/store'
export default {
store,
data () {
return {
getSelectNum: 1
}
},
methods: {
getNumber (num) { //父组件响应请求方法并通过commit请求store里面的increase方法并将接收到的参数传上去
this.getSelectNum = num
store.commit('increase', num) //调用store里面的increase方法
}
}
}
</script>
本文详细介绍了在Vue中如何实现子组件与父组件之间的通信。通过使用$emit和$refs, 子组件可以触发事件并传递数据给父组件,而父组件则能响应这些事件并更新状态。具体示例展示了数输入框组件如何通知其父组件数量变化。
1154

被折叠的 条评论
为什么被折叠?



