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 相关文章推荐
深入了解Vue3模板编译原理
Nov 19 Vue.js
vue element实现表格合并行数据
Nov 30 Vue.js
vue的hash值原理也是table切换实例代码
Dec 14 Vue.js
vue中封装axios并实现api接口的统一管理
Dec 25 Vue.js
浅析vue中的nextTick
Dec 28 Vue.js
vue中配置scss全局变量的步骤
Dec 28 Vue.js
vue中实现点击空白区域关闭弹窗的两种方法
Dec 30 Vue.js
vue 页面跳转的实现方式
Jan 12 Vue.js
vue form表单post请求结合Servlet实现文件上传功能
Jan 22 Vue.js
vue-video-player 断点续播的实现
Feb 01 Vue.js
vue浏览器返回监听的具体步骤
Feb 03 Vue.js
原生JS封装vue Tab切换效果
Apr 28 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
php对文件进行hash运算的方法
2015/04/03 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
基于jquery 的一个progressbar widge
2010/10/29 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
微信小程序之前台循环数据绑定
2017/08/18 Javascript
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
jQuery实现的别踩白块小游戏完整示例
2019/01/07 jQuery
JS+php后台实现文件上传功能详解
2019/03/02 Javascript
如何区分vue中的v-show 与 v-if
2020/09/08 Javascript
Python中使用Beautiful Soup库的超详细教程
2015/04/30 Python
Python生成随机验证码的两种方法
2015/12/22 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
django基于restframework的CBV封装详解
2019/08/08 Python
Pytorch根据layers的name冻结训练方式
2020/01/06 Python
pip安装tensorflow的坑的解决
2020/04/19 Python
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
详解rem 适配布局
2018/10/31 HTML / CSS
加拿大便宜的隐形眼镜商店:Clearly
2016/09/15 全球购物
Linux面试题LINUX系统类
2015/11/25 面试题
是否可以从一个static方法内部发出对非static方法的调用?
2014/08/18 面试题
工厂保安员岗位职责
2014/01/31 职场文书
一体化教学实施方案
2014/05/10 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
大学奖学金获奖感言
2014/08/15 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
2015年秋季小学开学标语
2015/07/16 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏
Python 装饰器(decorator)常用的创建方式及解析
2022/04/24 Python
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python