详解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的用鼠标画出可移动的div
Sep 06 Javascript
jquery访问ashx文件示例代码
Aug 11 Javascript
jQuery标签编辑插件Tagit使用指南
Apr 21 Javascript
JS实现的5级联动Select下拉选择框实例
Aug 17 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
Jun 25 Javascript
JS实现的几个常用算法
Nov 12 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
Aug 25 Javascript
javascript将list转换成树状结构的实例
Sep 08 Javascript
微信公众号生成新浪短网址的实现(快速生成)
Aug 18 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
Aug 23 Javascript
在pycharm中开发vue的方法步骤
Mar 04 Javascript
如何理解Vue前后端数据交互与显示
May 10 Vue.js
详解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
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
PHP+MySQL插入操作实例
2015/01/21 PHP
php微信开发自定义菜单
2016/08/27 PHP
PHP常见加密函数用法示例【crypt与md5】
2019/01/27 PHP
求解开jscript.encode代码的asp函数
2007/02/28 Javascript
JCalendar 日历控件 v1.0 beta[兼容IE&amp;Firefox] 有文档和例子
2007/05/30 Javascript
jquery实现居中弹出层代码
2010/08/25 Javascript
浅析js设置控件的readonly与enabled属性问题
2013/12/25 Javascript
以JavaScript来实现WordPress中的二级导航菜单的方法
2015/12/14 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
2019/08/26 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
vue总线机制(bus)知识点详解
2020/05/10 Javascript
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
2020/08/07 Javascript
.netcore+vue 实现压缩文件下载功能
2020/09/24 Javascript
python集合类型用法分析
2015/04/08 Python
Python实现读取json文件到excel表
2017/11/18 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
python 字符串和整数的转换方法
2018/06/25 Python
python里运用私有属性和方法总结
2019/07/08 Python
Django之创建引擎索引报错及解决详解
2019/07/17 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
python实现查找所有程序的安装信息
2020/02/18 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
2020/04/17 Python
django跳转页面传参的实现
2020/09/17 Python
香港交友网站:be2香港
2018/07/22 全球购物
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
装饰资料员岗位职责
2013/12/30 职场文书
文明学生标兵事迹
2014/01/21 职场文书
机关搬迁方案
2014/05/18 职场文书
Python制作表白爱心合集
2022/01/22 Python