详解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中的几个运算符
Jun 29 Javascript
js 解决“options为空或不是对象”
Dec 22 Javascript
js cookies 常见网页木马挂马代码 24小时只加载一次
Apr 13 Javascript
什么是JavaScript
Aug 13 Javascript
jQuery UI AutoComplete 使用说明
Jun 20 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
Aug 12 Javascript
深入理解JavaScript中的对象
Jun 04 Javascript
javascript实现简单加载随机色方块
Dec 25 Javascript
微信小程序网络请求wx.request详解及实例
May 18 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
Apr 13 Javascript
JavaScript实现身份证验证代码实例
Aug 26 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
Mar 13 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自动选择 连接本地还是远程数据库
2010/12/02 PHP
php实现用于删除整个目录的递归函数
2015/03/16 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
一次失败的jQuery优化尝试小结
2011/02/06 Javascript
js 取时间差去掉周六周日实现代码
2012/12/25 Javascript
清除div下面的所有标签的方法
2014/02/17 Javascript
JavaScript实现的石头剪刀布游戏源码分享
2014/08/22 Javascript
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
原生JS实现ajax与ajax的跨域请求实例
2017/12/01 Javascript
three.js 入门案例详解
2018/01/23 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
2018/01/25 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
js中对象与对象创建方法的各种方法
2019/02/27 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
python 读写中文json的实例详解
2017/10/29 Python
Python读写docx文件的方法
2018/05/08 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
Python登录注册验证功能实现
2018/06/18 Python
解决每次打开pycharm直接进入项目的问题
2018/10/28 Python
Python3 搭建Qt5 环境的方法示例
2020/07/16 Python
python一些性能分析的技巧
2020/08/30 Python
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
美国最值得信赖的宠物药房:Allivet
2019/03/23 全球购物
客服主管岗位职责
2013/12/13 职场文书
入党思想汇报
2014/01/05 职场文书
计算机学生求职信范文
2014/01/30 职场文书
部队党性分析材料
2014/02/16 职场文书
骨干教师考核方案
2014/05/09 职场文书
如何使用flask将模型部署为服务
2021/05/13 Python
Go 语言结构实例分析
2021/07/04 Golang