Vue this.$router.push(参数)实现页面跳转操作


Posted in Javascript onSeptember 09, 2020

很多情况下,我们在执行点击按钮跳转页面之前还会执行一系列方法,这时可以使用 this.$router.push(location) 来修改 url,完成跳转。

push 后面可以是对象,也可以是字符串:

// 字符串
this.$router.push('/home/first')
// 对象
this.$router.push({ path: '/home/first' })
// 命名的路由
this.$router.push({ name: 'home', params: { userId: wise }})

跳转页面并传递参数的方法:

1.Params

由于动态路由也是传递params的,所以在 this.$router.push() 方法中path不能和params一起使用,否则params将无效。需要用name来指定页面。

及通过路由配置的name属性访问

在路由配置文件中定义参数:

/* router.js 文件*/
import Vue from "vue";
import Router from "vue-router";
import MediaSecond from "@/views/EnterprisePage/MediaMatrix/second"; //资讯列表
 
Vue.use(Router);
export default new Router({
 routes: [ /* 进行路由配置 */
  {
    name: "MediaSecond",
    path: "/MediaSecond",
    component: MediaSecond
  },
 ]
}) 
/* 后面还需要接一空行,否则无法通过 ESlint 语法验证 */

通过name获取页面,传递params:

this.$router.push({ name: 'MediaSecond',params:{artistName:artistName,imgUrl:imgUrl,type:2} })

在目标页面通过this.$route.params获取参数:

if (this.$route.params.type == 2) {
  this.type = apis.getAtistDetails;
} else {
  this.type = apis.getMessageList;
}

2.Query

页面通过path/name和query传递参数,该实例中row为某行表格数据

this.$router.push({ name: 'DetailManagement', query: { auditID: row.id, type: '2' } });

this.$router.push({ path: '/DetailManagement', query: { auditID: row.id, type: '2' } });

在目标页面通过this.$route.query获取参数:

this.$route.query.type

补充知识:vue this.$router.push('./map');无法跳转的问题

<template>
 <div style="text-align: center">
  <el-button type="primary" style="margin-top: 40vh" @click="onLogin">登录</el-button>
 </div>
</template>
<script>
 export default {
  name: 'login',
  data () 
   return {
   }
  },
  methods: {
   onLogin:function () {
    this.$router.push('./map');
   }
  },
 }
</script>
<style scoped>
  
</style>

router中是这样引入的

import map from '@components/map'

点击事件无法跳转

2.解决方法:

改变引入方式

import map=r=>require.ensure([],()=>(require('../components/map')),'map')

这样通过静态引入就没问题了!

以上这篇Vue this.$router.push(参数)实现页面跳转操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript中for-in遍历方式示例介绍
Feb 11 Javascript
javascript初学者常用技巧
Sep 02 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
Oct 28 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
Mar 13 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
Oct 24 Javascript
微信小程序 绘图之饼图实现
Oct 24 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
Dec 07 Javascript
原生js实现可拖动的登录框效果
Jan 21 Javascript
Vue组件中slot的用法
Jan 30 Javascript
vue中el-upload上传图片到七牛的示例代码
Oct 19 Javascript
vuex管理状态仓库使用详解
Jul 29 Javascript
8个非常实用的Vue自定义指令
Dec 15 Vue.js
Vue页面跳转传递参数及接收方式
Sep 09 #Javascript
微信小程序实现身份证取景框拍摄
Sep 09 #Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
Sep 09 #Javascript
微信小程序实现点击生成随机验证码
Sep 09 #Javascript
vue 获取元素额外生成的data-v-xxx操作
Sep 09 #Javascript
vue移动端写的拖拽功能示例代码
Sep 09 #Javascript
vue路由的配置和页面切换详解
Sep 09 #Javascript
You might like
PHP实现多服务器session共享之NFS共享的方法
2007/03/16 PHP
php环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
2007/03/16 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
php中explode的负数limit用法分析
2015/02/27 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
jQuery中add实现同时选择两个id对象
2010/10/22 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
深入探究AngularJS框架中Scope对象的超级教程
2016/01/04 Javascript
Bootstrap下拉菜单效果实例代码分享
2016/06/30 Javascript
利用JS实现简单的日期选择插件
2017/01/23 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
使用JS实现图片轮播的实例(前后首尾相接)
2017/09/21 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
JavaScript使用prototype属性实现继承操作示例
2020/05/22 Javascript
Python GAE、Django导出Excel的方法
2008/11/24 Python
django 按时间范围查询数据库实例代码
2018/02/11 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
python中怎么表示空值
2020/06/19 Python
阿巴庭院:Abba Patio
2019/06/18 全球购物
单位消防安全制度
2014/01/12 职场文书
小学教师管理制度
2014/01/18 职场文书
远程研修随笔感言
2014/02/10 职场文书
不服从上级领导安排的检讨书
2014/09/14 职场文书
仲裁协议书
2014/09/26 职场文书
2014年银行信贷员工作总结
2014/12/08 职场文书
2015年美容师个人工作总结
2015/10/14 职场文书
灵能百分百第三季什么时候来?
2022/03/15 日漫
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python
nginx七层负载均衡配置详解
2022/07/15 Servers