国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Vue router傳遞參數并解決刷新頁面參數丟失問題

瀏覽:83日期:2022-10-22 08:06:23

Vue Router 傳參方式:

1. this.$router.push({ name: ’模塊名稱’, params: { // 各參數 } })

router.js:

export default new Router({ routes: [ { path: ’/paramsPassingByRouter’, component: ParamsPassingByRouter, children: [ { path: ’paramsMode’, name: ’paramsMode’, component: ParamsMode } ] } ]})

ParamsPassingByRouter.vue:

<!-- html --><button @click='paramsMode(testData)'>params傳參</button><!-- js --><script>export default { data () { return { testData: { id: ’20180101’, name: ’張三’, aka: ’z3’, age: ’18’ } } }, methods: { paramsMode (data) { this.$router.push({ name: ’paramsMode’, params: data }) } }}</script>

ParamsMode.vue:

<!-- html --><div class='params-mode'>{{ testData }}</div><!-- js --><script>export default { data () { return { testData: {} } }, created () { this.testData = this.$route.params }}</script>

效果:url:http://localhost:8081/#/paramsPassingByRouter/paramsMode頁面顯示:{'id':'20180101','name':'張三','aka':'z3','age':'18'}

但是刷新頁面后,數據會丟失,顯示:{}。

2. this.$router.push({ name: ’模塊名稱’, query: { // 各參數 } })

router.js:

export default new Router({ routes: [ { path: ’/paramsPassingByRouter’, component: ParamsPassingByRouter, children: [ { path: ’queryMode’, name: ’queryMode’, component: QueryMode } ] } ]})

ParamsPassingByRouter.vue:

<!-- html --><button @click='queryMode(testData)'>query傳參</button><!-- js --><script>export default { data () { return { testData: { id: ’20180101’, name: ’張三’, aka: ’z3’, age: ’18’ } } }, methods: { queryMode (data) { this.$router.push({ name: ’paramsMode’, query: data }) } }}</script>

QueryMode.vue:

<!-- html --><div class='query-mode'>{{ testData }}</div><!-- js --><script>export default { data () { return { testData: {} } }, created () { this.testData = this.$route.query }}</script>

效果:url:http://localhost:8081/#/paramsPassingByRouter/queryMode?id=20180101&name=%E5%BC%A0%E4%B8%89&aka=z3&age=18頁面顯示:{'id':'20180101','name':'張三','aka':'z3','age':'18'}

刷新頁面后,數據不會丟失。

解決刷新頁面數據丟失的方案:

使用 this.$router.push({ name: ’模塊名稱’, query: { // 各參數 } }) 方式傳參。

缺點:參數值都拼接在 url 上,url 會很長,同時都可被看到。

this.$router.push({ name: ’模塊名稱’, params: { // 各參數 } }) 路由文件設置的時候把參數拼到 url 里。

url:http://localhost:8081/#/paramsPassingByRouter/paramsMode/20180101/%E5%BC%A0%E4%B8%89/z3/18缺點:同上。

1 和 2 結合使用:this.$router.push({ name: ’模塊名稱’, params: { // 各參數 }, query: { // 各參數 } })。

老老實實的用 localStorage 存儲。

url: http://localhost:8081/#/paramsPassingByRouter/paramsMode/z3可以與 params 和 query 方式配合使用,可以暴露的參數顯示在 url 上,同時刷新參數也不會丟失。銷毀頁面的時候把 localStorage 存儲的內容清除。

// router.js{ path: ’paramsMode/:aka’, name: ’paramsMode’, component: ParamsMode}<!-- ParamsMode.vue 修改 --><script>export default { data () { return { testData: {} } }, created () { const tempData = localStorage.getItem(’tempData’) if (tempData) { this.testData = JSON.parse(tempData) } else { this.testData = this.$route.params localStorage.setItem(’tempData’, JSON.stringify(this.$route.params)) } }, beforeDestroy () { localStorage.removeItem(’tempData’) }}</script>

到此這篇關于Vue router傳遞參數并解決刷新頁面參數丟失問題的文章就介紹到這了,更多相關Vue router傳遞參數丟失內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Vue
相關文章:
主站蜘蛛池模板: 欧美叫床戏做爰无遮挡 | 在线日韩欧美一区二区三区 | 国产91精品一区二区 | 国产毛片不卡 | 男女扒开双腿猛进入免费网站 | 国产一级一级一级成人毛片 | 三级视频欧美 | 欧美日韩高清性色生活片 | 欧美精品日日鲁夜夜添 | 偷窥女厕国产在线视频 | www色在线 | 国产精品亚洲第一区柳州莫青 | 色噜噜亚洲男人的天堂 | 欧美人在线 | 亚洲视频欧美视频 | 国产成人精品日本亚洲麻豆 | 在线播放 亚洲 | 99久久综合给久久精品 | 欧美日韩国产va另类 | 97免费公开视频 | 久久成人免费观看草草影院 | 国产伦精品一区二区三区网站 | 日本道色| 精品国产自在在线在线观看 | 911精品国产亚洲日本美国韩国 | 免费香蕉成视频成人网 | 在线播放国产一区二区三区 | 精品久久久久久国产91 | 九九免费精品视频在这里 | 国产素人在线观看 | 91啦丨国产丨 | a级毛片免费观看网站 | 亚洲 欧美 激情 另类 校园 | 亚洲日本一区二区三区高清在线 | 黄色三级视频 | 草草视频免费在线观看 | 91热国内精品永久免费观看 | 国产高清免费观看 | 国产精品亚欧美一区二区三区 | 美女成人网 | 国产综合久久一区二区三区 |