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绑定class的三种方法
Dec 24 Vue.js
基于vuex实现购物车功能
Jan 10 Vue.js
Vuex实现简单购物车
Jan 10 Vue.js
Vue项目中使用mock.js的完整步骤
Jan 12 Vue.js
vue 计算属性和侦听器的使用小结
Jan 25 Vue.js
vue打开新窗口并实现传参的图文实例
Mar 04 Vue.js
vue中三级导航的菜单权限控制
Mar 31 Vue.js
vue实现可拖拽的dialog弹框
May 13 Vue.js
详解vue身份认证管理和租户管理
May 25 Vue.js
vue响应式原理与双向数据的深入解析
Jun 04 Vue.js
vue实力踩坑之push当前页无效
Apr 10 Vue.js
vue实现登陆页面开发实践
May 30 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 memcache扩展的三种安装方法
2009/04/26 PHP
PHP中“简单工厂模式”实例代码讲解
2012/09/04 PHP
PHP基于自定义类随机生成姓名的方法示例
2017/08/05 PHP
laravel批量生成假数据的方法
2019/10/09 PHP
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
2016/06/09 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
ES6新数据结构Set与WeakSet用法分析
2017/03/31 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
浅谈vue-router2路由参数注意的问题
2017/11/08 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
Vue组件间的通信pubsub-js实现步骤解析
2020/03/11 Javascript
python操作MongoDB基础知识
2013/11/01 Python
python pandas 组内排序、单组排序、标号的实例
2018/04/12 Python
python多进程间通信代码实例
2019/09/30 Python
python银行系统实现源码
2019/10/25 Python
Python列表解析操作实例总结
2020/02/26 Python
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
集世界奢侈品和设计师品牌的意大利精品买手店:Tessabit
2019/08/17 全球购物
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
保护黄河倡议书
2014/05/16 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
2014幼儿园教师个人工作总结
2014/11/08 职场文书
大连导游词
2015/02/12 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
Mysql Show Profile
2021/04/05 MySQL
MySQL分库分表与分区的入门指南
2021/04/22 MySQL
Python入门学习之类的相关知识总结
2021/05/25 Python
MySQL数据库表约束讲解
2022/06/21 MySQL