我目前遇到的問題:問題一以前我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跳轉過來修改地址信息。
關于vue $route 和 bus的疑問。
侃侃爾雅
2019-02-07 14:15:50