详解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 相关文章推荐
一些相见恨晚的 JavaScript 技巧
Apr 25 Javascript
JavaScript 继承使用分析
May 12 Javascript
jquery中dom操作和事件的实例学习 下拉框应用
Dec 01 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
Jun 02 Javascript
js/jQuery简单实现选项卡功能
Jan 02 Javascript
显示今天的日期js代码(阳历和农历)
Sep 30 Javascript
JavaScript实现三阶幻方算法谜题解答
Dec 29 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
Nov 18 Javascript
JS高仿抛物线加入购物车特效实现代码
Feb 20 Javascript
jquery表单提交带错误信息提示效果
Mar 09 Javascript
详解动画插件wow.js的使用方法
Sep 13 Javascript
vue的keep-alive中使用EventBus的方法
Apr 23 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
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
VPS中使用LNMP安装WordPress教程
2014/12/28 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
2017/05/17 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
Javascript 面向对象编程(一) 封装
2011/08/28 Javascript
用js写了一个类似php的print_r输出换行功能
2013/02/18 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
2016/05/13 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
2016/09/23 Javascript
react-redux中connect()方法详细解析
2017/05/27 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
2017/08/03 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
微信小程序checkbox组件使用详解
2018/01/31 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
vue.js仿hover效果的实现方法示例
2019/01/28 Javascript
js blob类型url的视频下载问题的解决
2019/11/29 Javascript
Python的高级Git库 Gittle
2014/09/22 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
opencv python如何实现图像二值化
2020/02/03 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
python绘图模块之利用turtle画图
2021/02/12 Python
半年思想汇报
2013/12/30 职场文书
音乐教学案例
2014/01/30 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
安全员岗位职责
2015/02/10 职场文书
2015婚礼主持词开场白
2015/05/28 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书