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 插槽简介及使用示例
Nov 19 Vue.js
vue form表单post请求结合Servlet实现文件上传功能
Jan 22 Vue.js
Vue实现摇一摇功能(兼容ios13.3以上)
Jan 26 Vue.js
Vue 数据响应式相关总结
Jan 28 Vue.js
vue打开新窗口并实现传参的图文实例
Mar 04 Vue.js
浅谈vue2的$refs在vue3组合式API中的替代方法
Apr 18 Vue.js
关于Vue Router的10条高级技巧总结
May 06 Vue.js
Vue中插槽slot的使用方法与应用场景详析
Jun 08 Vue.js
Vue如何清空对象
Mar 03 Vue.js
vue router 动态路由清除方式
May 25 Vue.js
vue实现登陆页面开发实践
May 30 Vue.js
Vue Element plus使用方法梳理
Dec 24 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 反射机制实现动态代理的代码
2008/10/22 PHP
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
深入解析Session是否必须依赖Cookie
2013/08/02 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
PHP asXML()函数讲解
2019/02/03 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
jQuery 学习第五课 Ajax 使用说明
2010/05/17 Javascript
JQuery 学习技巧总结
2010/05/21 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
javascript自定义startWith()和endWith()的两种方法
2013/11/11 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
JS把内容动态插入到DIV的实现方法
2016/07/19 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
nodeJS服务器的创建和重新启动的实现方法
2018/05/12 NodeJs
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
python求素数示例分享
2014/02/16 Python
Python深入学习之特殊方法与多范式
2014/08/31 Python
python开启多个子进程并行运行的方法
2015/04/18 Python
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
Python守护进程实现过程详解
2020/02/10 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
Lovedrobe官网:英国领先的大码服装品牌
2019/09/19 全球购物
优秀教师主要事迹
2014/02/01 职场文书
校运会入场式解说词
2014/02/10 职场文书
我爱我家教学反思
2014/05/01 职场文书
集中整治工作方案
2014/05/01 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
2014年医药代表工作总结
2014/11/22 职场文书
教师节慰问信
2015/02/15 职场文书
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
2021/06/18 MySQL
PO模式在selenium自动化测试框架的优势
2022/03/20 Python
HTML中link标签属性的具体用法
2023/05/07 HTML / CSS