微信小程序子组件往父组件传值
碎碎念
解决办法
虽然我也知道 Vue 不推荐直接修改对象的值,但是能省事我也就无所谓😁。无奈,现在只能使用 Vue 推荐的 this.$emit
方法子组件往父组件传值
全局事件总线
先定义一个全局事件总线,用来传递数据,最好是在 beforeCreate 钩子函数中定义,这样可以保证在所有组件中都可以使用
1 | Vue.prototype.$bus = this |
监听子组件值的变化
1 | watch: { |
父组件接收传过来的值
因为我们定义了一个全局的事件总线,所以可以使用 $bug
来接受 change 的值
1 | mounted() { |
当然你也可以根据自己的需求去定制方法,比如可以利用 Vue 的 mixins 把所有的事件都放在一个文件中,然后在需要的地方引入,这样就可以实现多个组件之间的数据传递了
评论