当前有个需求:页面相互跳转中,在上一个页面(A页面)结束时使用$emit给父组件传值重置某些数据,在下一个页面(B页面)加载的时候也会给父组件传值给数据赋值。
我的做法是在A中使用 beforeDestroy() 在页面摧毁之前向父页面发送重置的信号,在B页面的 created() 方法中给父页面发送赋值的信号,但是值并没有达到我想要的样子。
经过测试A页面的 beforeDestroy() 方法是在B页面的 created() 方法之后执行的,所以B页面传过去的值修改成功之后又被A页面的数据重置了。
简单的写两个页面测试一下之后发现,实际的执行顺序是:
....
B.created()
B.beforeMount()
A.beforeDestroy()
A.destroyed()
B.mounted()
......
探讨在Vue应用中,从A页面跳转到B页面时,如何正确地使用beforeDestroy和created钩子进行父子组件间的数据通信,避免数据冲突。

1万+

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



