没有合适的资源?快使用搜索试试~ 我知道了~
解决Vue使用bus总线时,第一次路由跳转时数据没成功传递问题
0 下载量 26 浏览量
2020-11-20
05:45:03
上传
评论
收藏 162KB PDF 举报
温馨提示
试读
3页
bus总线是vue中路由跳转传递数据的常用方法,适用于传递数据不多的情况,但是在使用的过程中发现,bus总线在第一次路由跳转的时候总是不能够成功传递需要传递的数据。检查bus的配置以及调用方法,均没有出错,错就错在没有理解Vue的生命周期!!! 我们知道bus的$on的监听应该位于$emit之前,如果在emit之前没有创建监听事件,那么肯定是得不到需要的数据。因此,我通过两个页面来了解路由跳转时两个页面的生命周期,下面给出其中一个页面的部分代码: //页面1 beforeCreate () { console.group('%c%s', 'color:red', 'beforeCre
资源详情
资源评论
资源推荐
解决解决Vue使用使用bus总线时总线时,第一次路由跳转时数据没成功传递问第一次路由跳转时数据没成功传递问
题题
bus总线是vue中路由跳转传递数据的常用方法,适用于传递数据不多的情况,但是在使用的过程中发现,bus总线在第一次路
由跳转的时候总是不能够成功传递需要传递的数据。检查bus的配置以及调用方法,均没有出错,错就错在没有理解Vue的生
命周期!!!
我们知道bus的$on的监听应该位于$emit之前,如果在emit之前没有创建监听事件,那么肯定是得不到需要的数据。因此,我
通过两个页面来了解路由跳转时两个页面的生命周期,下面给出其中一个页面的部分代码:
//页面1
beforeCreate () {
console.group('%c%s', 'color:red', 'beforeCreate 创建前状态===============组件1》')
},
created () {
console.group('%c%s', 'color:red', 'created 创建完毕状态===============组件1》')
},
beforeMount () {
console.group('%c%s', 'color:red', 'beforeMount 挂载前状态===============组件1》')
},
mounted () {
console.group('%c%s', 'color:red', 'mounted 挂载状态===============组件1》')
},
beforeUpdate () {
console.group('%c%s', 'color:red', 'beforeUpdate 更新前状态===============组件1》')
},
updated () {
console.group('%c%s', 'color:red', 'updated 更新状态===============组件1》')
},
beforeDestroy () {
console.group('%c%s', 'color:red', 'beforeDestroy 破前状态===============组件1》')
},
destroyed () {
console.group('%c%s', 'color:red', 'destroyed 破坏状态===============组件1》')
}
当从页面1跳转到页面2的时候,控制台的打印情况如下:
从上图便可以发现,bus第一次使用无法传递的原因:
在页面1通过$emit方法传递数据然后跳转路由的时候,其实页面2的$on监听还没有建立,因此无法得到数据!
基于上述原因,提出的解决办法如下:基于上述原因,提出的解决办法如下:
在页面1的beforeDestroy或者destroyed钩子函数中emit数据,在页面2的beforeCreate、created或者beforeMount钩子函数中
建立$on监听事件,然后在页面2的mounted钩子函数中$on得到的数据赋值给页面2的变量中。
//页面1
beforeDestroy () {
bus.$emit('dataFromBus1',this.dataFromBus1);
},
//页面2
beforeCreate () {
bus.$on('dataFromBus1',function(url){
bus.dataFromBus1 = url
});
weixin_38538264
- 粉丝: 5
- 资源: 932
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0