详解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 相关文章推荐
Cookie 小记
Apr 01 Javascript
js获取浏览器的可视区域尺寸的实现代码
Nov 30 Javascript
JavaScript instanceof 的使用方法示例介绍
Oct 23 Javascript
原生js做的手风琴效果的导航菜单
Nov 08 Javascript
js中hash和ico的关联分析
Feb 05 Javascript
ztree获取当前选中节点子节点id集合的方法
Feb 12 Javascript
js不间断滚动的简单实现
Jun 03 Javascript
BootStrap Table 获取同行不同列元素的方法
Dec 19 Javascript
jQuery选择器之子元素选择器详解
Sep 18 jQuery
Vue中的异步组件函数实现代码
Jul 20 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
Nov 07 Javascript
vue 判断元素内容是否超过宽度的方式
Jul 29 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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
jQuery Ajax文件上传(php)
2009/06/16 Javascript
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
JS Loading功能的简单实现
2013/11/29 Javascript
js实现弹窗插件功能实例代码分享
2013/12/12 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
js中的 || 与 &amp;&amp; 运算符详解
2018/05/24 Javascript
Vue设置长时间未操作登录自动到期返回登录页
2020/01/22 Javascript
javascript实现画板功能
2020/04/12 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
Python实现购物程序思路及代码
2017/07/24 Python
Python 多线程Threading初学教程
2017/08/22 Python
Python爬虫之网页图片抓取的方法
2018/07/16 Python
符合语言习惯的 Python 优雅编程技巧【推荐】
2018/09/25 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
python打开windows应用程序的实例
2019/06/28 Python
python实现logistic分类算法代码
2020/02/28 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
PyTorch 中的傅里叶卷积实现示例
2020/12/11 Python
群胜软件Java笔试题
2012/09/29 面试题
国际商务专业求职信
2014/07/15 职场文书
督导岗位职责范本
2015/04/10 职场文书
赢在中国观后感
2015/06/02 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
MySQL 不等于的三种使用及区别
2021/06/03 MySQL
深入浅析Django MTV模式
2021/09/04 Python
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸