vue 頁面跳轉的實現方式
一、this.$router.push()
1、vue
<template> <div id='test'> <button @click='goTo()'>點擊跳轉4</button> </div> </template>
2、script
//跳轉前頁面傳參數: goTo(item) { //storageData中數據用於跳轉到下一個頁面之後,進行返回時能夠返回到跳轉之前的頁面 let storageData = { searchWords: this.keyWord, pageSize: this.paging.pageSize, pageNo: this.paging.currentPage }; //data中數據用於將本頁面中數據通過跳轉功能將其應用到下一個頁面,與父子組件傳值同理 let data = { type: item.srcType, tableName: item.tableName, name: item.datasourceName, tableId: item.tableId, id: item.datasourceId, }; //將下一個頁面中將會用到的數據全部push到$router中 this.$router.push({ //name表示跳轉之後的資源前端訪問路徑,query用於存儲待使用數據,其中page是本頁面name, name: 'onlineSearch', query: {targetData: data ,storageData, page:'search', isBackSelect: true, goBackName:'dataSearch' } }) }
3、跳轉後的頁面中獲取上個頁面的參數值
//跳轉後頁面獲取參數: mounted() { //查看是否已經參數是否傳至跳轉之後的頁面,若傳入,則根據需求進行調用 console.log(this.$route.query.targetData;) }
4、從跳轉後的頁面返回跳轉前頁面
//將返回函數寫到methods中 goBackSheet() { if(this.$route.query.goBackName === 'dataSearch'){ this.$router.push({ name: this.pageName, query: { storageData: this.$route.query.storageData, isBackSelect: true, } }); } }
二、router-link跳轉
1、 通過 to 屬性指定目標地址
query相當於get請求,頁面跳轉的時候,可以在地址欄看到請求參數;
query 刷新 不會 丟失 query裡面的數據;
query要用path來引入。
params相當於post請求,參數不會再地址欄中顯示;
params 刷新 會 丟失 params裡面的數據;
params要用name來引入。
<!-- 命名的路由 --> <router-link :to="{ name: 'user', params: { userId: 123 }}" @click.native='goTo'>User</router-link> <!-- 帶查詢參數,下面的結果為 /register?plan=private --> <router-link :to="{ path: 'register', query: { plan: 'private' }}" @click.native='goTo'>Register</router-link>
2、跳轉後頁面
watch:{ $route(to,from){ //刷新頁面 this.$router.go(1); } }
以上就是vue 頁面跳轉的實現方式的詳細內容,更多關於vue 頁面跳轉的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- vue-router傳參的4種方式超詳細講解
- vue如何通過點擊事件實現頁面跳轉詳解
- Vue路由傳參及props解耦深入分析
- Vue-router編程式導航的兩種實現代碼
- vuejs路由的傳參及路由props配置詳解