vue?跳轉(zhuǎn)頁面$router.resolve和$router.push案例詳解
寫下我遇到的問題,調(diào)用后端接口返回html字符串包括script標(biāo)簽,現(xiàn)在需要跳轉(zhuǎn)到新頁面顯示這個html。
push+query傳參可以打開新窗口,但參數(shù)是在地址欄顯示的,可能是script里面再次有觸發(fā)接口的行為,頁面會顯示鏈接不安全之類。
所以改用push+params,但這種是在當(dāng)前頁面打開,不能打開新窗口。
再改用resolve+params,這種跳轉(zhuǎn)到新頁面又獲取不到參數(shù)了。(別的博文也有寫到確實如此)
所以想著先用push+query跳頁面1且傳參,但不渲染頁面1且同時再push+params跳轉(zhuǎn)到新頁面2(但是沒有打開新窗口)
這樣實現(xiàn)了既跳轉(zhuǎn)了新頁面,又不會讓后端檢測到頁面鏈接不安全之類的。
代碼部分:
地址欄傳參跳轉(zhuǎn)
let routeData = this.$router.resolve({ name: 'hfRecharge', query: { html: response }});
window.open(routeData.href, '_blank');再,params傳參跳頁面,讓地址欄不顯示參數(shù)
mounted() {
let routeData = this.$router.push({ name: 'hfRechargeShow', params: { html: this.$route.query.html }});
}最后,渲染頁面
mounted() {
const div = document.createElement('div');
div.innerHTML = this.$route.params.html;
document.body.appendChild(div);
document.forms[0].submit();
}23年4月6日
import qs from 'qs'
let routeData = this.$router.resolve({name: 'pageName', query: {form: qs.stringify(response.data)}});文章前頭寫過resove+query傳參后頁面取不到參數(shù),我遇到的情況是我傳的參數(shù)是個對象,所以利用了qs,在新頁面再
const form = qs.parse(this.$route.query.form);
解析為對象就可以.出具體值了。
到此這篇關(guān)于vue 跳轉(zhuǎn)頁面$router.resolve和$router.push的文章就介紹到這了,更多相關(guān)vue 跳轉(zhuǎn)頁面內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue 組件數(shù)據(jù)加載解析順序的詳細(xì)代碼
Vue.js的解析順序可以概括為:模板編譯、組件創(chuàng)建、數(shù)據(jù)渲染、事件處理和生命周期鉤子函數(shù)執(zhí)行,接下來通過本文給大家介紹vue 組件數(shù)據(jù)加載解析順序的完整代碼,感興趣的朋友跟隨小編一起看看吧2024-03-03
Vue中使用v-model雙向數(shù)據(jù)綁定select、checked等多種表單元素的方法
?v-model?指令可以用在表單?input、textarea?及?select?元素上創(chuàng)建雙向數(shù)據(jù)綁定,它會根據(jù)控件類型自動選取正確的方法來更新元素,本文給大家介紹Vue中如何使用v-model雙向數(shù)據(jù)綁定select、checked等多種表單元素,感興趣的朋友一起看看吧2023-10-10
vue router自動判斷左右翻頁轉(zhuǎn)場動畫效果
最近公司項目比較少終于有空來記錄一下自己對vue-router的一些小小的使用心得,本文給大家分享vue router自動判斷左右翻頁轉(zhuǎn)場動畫效果,感興趣的朋友一起看看吧2017-10-10

