vue 页面跳转的实现方式


Posted in Vue.js onJanuary 12, 2021

一、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 页面跳转的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
vue element实现表格合并行数据
Nov 30 Vue.js
解决vue下载后台传过来的乱码流的问题
Dec 05 Vue.js
vue编写简单的购物车功能
Jan 08 Vue.js
Vue中ref和$refs的介绍以及使用方法示例
Jan 11 Vue.js
vue二选一tab栏切换新做法实现
Jan 19 Vue.js
vue 组件基础知识总结
Jan 26 Vue.js
vue3.0中使用element的完整步骤
Mar 04 Vue.js
vue打开新窗口并实现传参的图文实例
Mar 04 Vue.js
详解Vue的sync修饰符
May 15 Vue.js
Vue+Flask实现图片传输功能
Apr 01 Vue.js
vue里使用create, mounted调用方法
Apr 26 Vue.js
vue3不同环境下实现配置代理
May 25 Vue.js
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 #Vue.js
详解template标签用法(含vue中的用法总结)
Jan 12 #Vue.js
Vue中ref和$refs的介绍以及使用方法示例
Jan 11 #Vue.js
vue实现防抖的实例代码
Jan 11 #Vue.js
Vuex实现简单购物车
Jan 10 #Vue.js
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 #Vue.js
基于vuex实现购物车功能
Jan 10 #Vue.js
You might like
PHP实现分页的一个示例
2006/10/09 PHP
Linux下手动编译安装PHP扩展的例子分享
2014/07/15 PHP
php结合正则获取字符串中数字
2015/06/19 PHP
php经典趣味算法实例代码
2020/01/21 PHP
jQuery常见开发技巧详细整理
2013/01/02 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
判断一个对象是否为jquery对象的方法
2014/03/12 Javascript
JS JQUERY实现滚动条自动滚到底的方法
2015/01/09 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
Element Input组件分析小结
2018/10/11 Javascript
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
javascript获取元素的计算样式
2019/05/24 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
Python 2与Python 3版本和编码的对比
2017/02/14 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
python3对拉勾数据进行可视化分析的方法详解
2019/04/03 Python
PyQt5显示GIF图片的方法
2019/06/17 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
2019/08/26 Python
利用OpenCV和Python实现查找图片差异
2019/12/19 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
树莓派4B安装Tensorflow的方法步骤
2020/07/16 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
自我鉴定200字
2013/10/28 职场文书
自动化职业生涯规划书范文
2014/01/03 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
迎国庆演讲稿
2014/09/15 职场文书
市场营销工作计划书
2014/09/15 职场文书
首都博物馆观后感
2015/06/05 职场文书