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中使用CSS3实现内容无缝滚动的示例代码
Nov 27 Vue.js
如何实现vue的tree组件
Dec 03 Vue.js
vue基于Echarts的拖拽数据可视化功能实现
Dec 04 Vue.js
Vue-router中hash模式与history模式的区别详解
Dec 15 Vue.js
Vue+penlayers实现多边形绘制及展示
Dec 24 Vue.js
vue 使用rules对表单字段进行校验的步骤
Dec 25 Vue.js
vue 动态创建组件的两种方法
Dec 31 Vue.js
vue watch监控对象的简单方法示例
Jan 07 Vue.js
vue实现可移动的悬浮按钮
Mar 04 Vue.js
vue3.0中使用element的完整步骤
Mar 04 Vue.js
vue实现书本翻页动画效果实例详解
Apr 08 Vue.js
vue里使用create, mounted调用方法
Apr 26 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 5.0对象模型深度探索之绑定
2006/09/05 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
2015/05/11 PHP
FastCGI 进程意外退出造成500错误
2015/07/26 PHP
php获取远程图片并下载保存到本地的方法分析
2016/10/08 PHP
Array栈方法和队列方法的特点说明
2014/01/24 Javascript
VS2008中使用JavaScript调用WebServices
2014/12/18 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
jsTree使用记录实例
2016/12/01 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
p5.js入门教程之图片加载
2018/03/20 Javascript
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
[02:46]解说DC:感谢430陪伴我们的DOTA2国际邀请赛岁月
2016/06/29 DOTA
python重试装饰器示例
2014/02/11 Python
MySQL最常见的操作语句小结
2015/05/07 Python
Python文件去除注释的方法
2015/05/25 Python
Python自动生产表情包
2017/03/17 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
2018/07/18 Python
python对html过滤处理的方法
2018/10/21 Python
Python实现的删除重复文件或图片功能示例【去重】
2019/04/23 Python
python ChainMap的使用和说明详解
2019/06/11 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
html5 利用canvas实现超级玛丽简单动画
2013/09/06 HTML / CSS
HTML5制作表格样式
2016/11/15 HTML / CSS
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
某个公司的Java笔面试题
2016/03/11 面试题
简单通用的简历自我评价
2014/09/21 职场文书
2015年大学生实习评语
2015/03/25 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书
小学四年级作文之写景
2019/08/23 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python