详解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使用手册之三 CSS操作
Mar 24 Javascript
Jquery通过Ajax访问XML数据的小例子
Nov 18 Javascript
JavaScript中的类与实例实现方法
Jan 23 Javascript
使用堆实现Top K算法(JS实现)
Dec 25 Javascript
vue.js初学入门教程(1)
Nov 03 Javascript
AngularJS中的JSONP实例解析
Dec 01 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
Dec 27 Javascript
Node.js中如何合并两个复杂对象详解
Dec 31 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
Aug 03 Javascript
VueJs 搭建Axios接口请求工具
Nov 20 Javascript
JavaScript字符和ASCII实现互相转换
Jun 03 Javascript
vue完美实现el-table列宽自适应
May 08 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
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
2014/11/18 PHP
PHP制作万年历
2015/01/07 PHP
php给每个段落添加空格的方法
2015/03/20 PHP
基于PHP生成简单的验证码
2016/06/01 PHP
laravel学习笔记之模型事件的几种用法示例
2017/08/15 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
2019/10/12 PHP
laravel框架实现敏感词汇过滤功能示例
2020/02/15 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
用js脚本控制asp.net下treeview的NodeCheck的实现代码
2010/03/02 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
利用jQuery对无序列表排序的简单方法
2016/10/16 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
2017/03/09 Javascript
JS 实现百度搜索功能
2018/02/01 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
vue以组件或者插件的形式实现throttle或者debounce
2019/05/22 Javascript
Python决策树分类算法学习
2017/12/22 Python
python实现图书管理系统
2018/03/12 Python
Python中new方法的详解
2019/01/15 Python
使用django的objects.filter()方法匹配多个关键字的方法
2019/07/18 Python
在Python 的线程中运行协程的方法
2020/02/24 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
关于webview适配H5上传照片或者视频文件的方法
2020/11/04 HTML / CSS
Shop Apotheke瑞士:您的健康与美容网上商店
2019/10/09 全球购物
澳大利亚女装精品店:Alannah Hill
2020/07/29 全球购物
作风大整顿心得体会
2014/09/10 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书
Django中session进行权限管理的使用
2021/07/09 Python
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL
Python可视化神器pyecharts绘制水球图
2022/07/07 Python