详解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 相关文章推荐
使用IE6看老赵的博客 jQuery初探
Jan 17 Javascript
在js中判断checkboxlist(.net控件客户端id)是否有选中
Apr 11 Javascript
Dom 学习总结以及实例的使用介绍
Apr 24 Javascript
js实现点小图看大图效果的思路及示例代码
Oct 28 Javascript
jQuery实现 上升、下降、删除、添加一行代码
Mar 06 Javascript
基于datepicker定义自己的angular时间组件的示例
Mar 14 Javascript
AngularJS自定义过滤器用法经典实例总结
May 17 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
Jul 03 jQuery
解决angular2 获取到的数据无法实时更新的问题
Aug 31 Javascript
javascript实现日历效果
Jun 17 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
Sep 18 Javascript
完美解决通过IP地址访问VUE项目的问题
Jul 18 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判断当前操作系统类型
2015/10/28 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
PHP身份证校验码计算方法
2016/08/10 PHP
function, new function, new Function之间的区别
2007/03/08 Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
JavaScript简介
2015/02/15 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
js实现统计字符串中特定字符出现个数的方法
2016/08/02 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
python统计一个文本中重复行数的方法
2014/11/19 Python
Python 实现简单的shell sed替换功能(实例讲解)
2017/09/29 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
Python2 与Python3的版本区别实例分析
2020/03/30 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
你应该知道的30个css选择器
2014/03/19 HTML / CSS
html5使用html2canvas实现浏览器截图的示例
2017/08/31 HTML / CSS
DHC中国官方购物网站:日本通信销售No.1化妆品
2016/08/20 全球购物
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
法律系毕业生自荐信范文
2014/03/27 职场文书
工厂车间标语
2014/06/19 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
机关职员工作检讨书
2014/10/23 职场文书
检讨书模板
2015/01/29 职场文书
关于保护环境的建议书
2019/06/24 职场文书
Python中的pprint模块
2021/11/27 Python
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技
python 单机五子棋对战游戏
2022/04/28 Python