我目前遇到的问题:
问题一
以前我A跳转到B通过页面传参的形式:domain?params=1
现在用了vue发现可以用router页面间传参:A页面
通过this.$router.push({name: 'orderPay', params: {id}})
跳转到B页面
。B页面
通过let orderId = this.$route.params.id
获取到id
向后台发起请求。跳转OK。
但是在B页面
原地刷新后,id
肯定获取不到。vuex暂时还没看太多,项目小也不打算用。了解了下vue bus 所以有了另一个问题:
问题二
接着上面的流程,我现在有一个bus.js
,里面有个vue实例:
export default new Vue({
name: 'bus',
data () {
return {
addr: {
name: '',
phone: '',
area: '',
address: ''
}
}
},
beforeCreate () {
},
created () {
this.$on('getAddr', () => {
console.log('%c bus获取地址成功', 'color:green')
})
this.$on('updateAddr', (obj) => {
this.addr = obj
console.log('%c bus地址更新成功', 'color:green')
})
}
})
B
获取到后台数据后,bus.$emit('updateAddr', that.addr)
传入数据到bus
,
此时B
再跳转到C
,C
通过this.addr = bus.$emit('getAddr').addr
也能够获取到数据,但是原地刷新后也没有了。。
目前我的思路是
问题一:B页面获取到id马上存sessionStorage 或者 还是只有通过url传参
问题二:bus只要有数据跟新,马上存本地存储
请问各位有没有更多更好的的解决方案或者思路。这个项目其实就是走一个购买流程比较简单,A购买页,B下单页带地址信息,C页面是B跳转过来修改地址信息。
LEATH
相关分类