从这张图中很不难发现一点,父组件传递数据给子组件用的是props,那子组件要改变父组件的状态则用emit events来进行触发

那如果是组件形式的我们就不能用$on了,只能在组件上使用v-on:'监听的事件'='监听到事件后做的事件函数'

组件 myDemo.vue


App.vue



我们在组件myDemo中当点击按钮的时候会把父组件传过的time参数再返回给父组件显示,每次加一
这里要讲几个知识点
在组件中,我觉得最操蛋的一件事不能直接操作props里的数据,那怎么办,有一个办法,创建一个副本,我们只有watch prors里的time参数,当父组件把数据传递过来的时候,props里的time数据此时就被watch捕捉,然后再赋值给time2,此时我们就可以操作数据time2,然后每个点击按钮+1,再然后通过$emit触发事件,再把time2当作参数传递给父组件
在父组件里我们就可以v-on监听触发的事件,然后再执行方法,在事件回调中拿到子组件传过来的参数进行数据赋值 ,更新视图,虽然有点复杂,好好理解一下就可以了,这种情况我们以后会用到vux就能解决这种复杂的问题,但是既然对于封装组件来说只有这么办