详解vue嵌套路由-params传递参数


Posted in Javascript onMay 23, 2017

在嵌套路由中,父路由向子路由传值除了query外,还有params,params传值有两种情况,一种是值在url中显示,另外一种是值不显示在url中。

1、显示在url中

index.html

<div id="app"> 
  <!-- router-view 路由出口, 路由匹配到的组件将渲染在这里 --> 
  <router-view></router-view> 
  </div>

main.js params传值是通过 :[参数值] 如path: "/home/game/:num"

import Vue from 'vue' 
import VueRouter from 'vue-router' 
Vue.use(VueRouter) 
//引入两个组件 
import home from "./home.vue" 
import game from "./game.vue" 
//定义路由 
const routes = [ 
  { path: "/", redirect: "/home" },//重定向 
  { 
    path: "/home", component: home, 
    children: [ 
      { path: "/home/game/:num", component: game } 
    ] 
  } 
] 
//创建路由实例 
const router = new VueRouter({routes}) 
 
new Vue({ 
  el: '#app', 
  data: { 
    id:123, 
  }, 
  methods: { 
  }, 
  router 
})

home.vue 在home中具体的值就跟在路径后面,如 “/home/game/123”,也就是说传递给子路由的值就是 123

<template> 
  <div> 
    <h3>首页</h3> 
    <router-link to="/home/game/123"> 
      <button>显示</button> 
    </router-link> 
    <router-view></router-view> 
  </div> 
</template>

game.vue 在子路由中,通过 this.$route.params.参数名来接受传递过来的值

<template> 
  <h3>王者荣耀{{ this.$route.params.num }}</h3> 
  </template>

详解vue嵌套路由-params传递参数

2、不显示在url中,如果在PC端将传递的值显示在url中,这样无形中就存在安全隐患,如果客户不小心修改了url那样就会出错,移动端就无所谓了,如何才能不显示在url中,同样很简单,但是需要给映射的路径起一个别名,通过name来取别名

同样只需将上面的main.js中的定义路由改为如下样子,在子路由中通过name来给路径其一个game1的别名。

//定义路由 
const routes = [ 
  { path: "/", redirect: "/home" },//重定向 
  { 
    path: "/home", component: home, 
    children: [ 
      { name: "game1", path: "/home/game/", component: game } 
    ] 
  } 
]

home.vue 中router-link修改为:to="{ name:'game1', params: {num: 123} }" params中是要传递的参数,这样传递的参数就不会显示在url中。

<template> 
  <div> 
    <h3>首页</h3> 
    <router-link :to="{ name:'game1', params: {num: 123} }"> 
      <button>显示</button> 
    </router-link> 
    <router-view></router-view> 
  </div> 
</template>

运行的结果如下图

详解vue嵌套路由-params传递参数

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery中对表单的基本操作代码
Jul 29 Javascript
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
Aug 05 Javascript
JQuery AJAX 中文乱码问题解决
Jun 05 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
Jul 08 Javascript
jQuery中操控hidden、disable等无值属性的方法
Jan 06 Javascript
javascript删除字符串最后一个字符
Jan 14 Javascript
JavaScript添加随滚动条滚动窗体的方法
Feb 23 Javascript
详解如何快速配置webpack多入口脚手架
Dec 28 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
Aug 04 Javascript
layui实现鼠标移动到单元格上显示数据的方法
Sep 11 Javascript
vue项目中常见问题及解决方案(推荐)
Oct 21 Javascript
vue2.x数组劫持原理的实现
Apr 19 Javascript
详解vue嵌套路由-query传递参数
May 23 #Javascript
vue-router 中router-view不能渲染的解决方法
May 23 #Javascript
angular+webpack2实战例子
May 23 #Javascript
jquery实现图片轮播器
May 23 #jQuery
详解用node编写自己的cli工具
May 23 #Javascript
JavaScript 巧学巧用
May 23 #Javascript
JS获取短信验证码倒计时的实现代码
May 22 #Javascript
You might like
php摘要生成函数(无乱码)
2012/02/04 PHP
php生成zip压缩文件的方法详解
2013/06/09 PHP
php计算整个目录大小的方法
2015/06/19 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
thinkPHP5框架接口写法简单示例
2019/08/05 PHP
php的RSA加密解密算法原理与用法分析
2020/01/23 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
js动态创建表格,删除行列的小例子
2013/07/20 Javascript
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
javascript实现模拟时钟的方法
2015/05/13 Javascript
JS中产生标识符方式的演变
2015/06/12 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
jQuery实现两列等高并自适应高度
2016/12/22 Javascript
微信小程序 详解Page中data数据操作和函数调用
2017/01/12 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
javaScript中的空值和假值
2017/12/18 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
JavaScript类的继承多种实现方法
2020/05/30 Javascript
vue项目打包后请求地址错误/打包后跨域操作
2020/11/04 Javascript
编写Python CGI脚本的教程
2015/06/29 Python
基于python绘制科赫雪花
2018/06/22 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
python lambda的使用详解
2021/02/26 Python
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
linux面试题参考答案(10)
2016/10/26 面试题
化工专业求职信
2014/07/01 职场文书
小学班级特色活动方案
2014/08/31 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
python可视化之颜色映射详解
2021/09/15 Python