详解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 获取页面元素的位置的代码
Sep 25 Javascript
基于jquery自定义的漂亮单选按钮RadioButton
Nov 19 Javascript
javascript制作网页图片上实现下雨效果
Feb 26 Javascript
JavaScript对数组进行随机重排的方法
Jul 22 Javascript
多种JQuery循环滚动文字图片效果代码
Jun 23 Javascript
JS动态插入并立即执行回调函数的方法
Apr 21 Javascript
全面解析Bootstrap中transition、affix的使用方法
May 30 Javascript
微信QQ的二维码登录原理js代码解析
Jun 23 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
Aug 26 Javascript
妙用缓存调用链实现JS方法的重载
Apr 30 Javascript
js HTML DOM EventListener功能与用法实例分析
Apr 27 Javascript
javascript实现简单页面倒计时
Mar 02 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 HtmlReplace输入过滤安全函数
2010/07/03 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
2011/07/29 PHP
php实现根据词频生成tag云的方法
2015/04/17 PHP
WordPress开发中用于标题显示的相关函数使用解析
2016/01/07 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
JS 事件绑定函数代码
2010/04/28 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
在新窗口打开超链接的方法小结
2013/04/14 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
2013/10/22 Javascript
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
JavaScript阻止表单提交方法(附代码)
2017/08/15 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
详解webpack4多入口、多页面项目构建案例
2018/05/25 Javascript
angular 未登录状态拦截路由跳转的方法
2018/10/09 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
Python中实现对list做减法操作介绍
2015/01/09 Python
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
简单了解Python读取大文件代码实例
2019/12/18 Python
python查看矩阵的行列号以及维数方式
2020/05/22 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
专科毕业生求职简历的自我评价
2013/10/12 职场文书
生产部统计员岗位职责
2014/01/05 职场文书
运动会报道稿300字
2014/10/02 职场文书
加入学生会自荐书
2015/03/05 职场文书
试用期旷工辞退通知书
2015/04/17 职场文书
致短跑运动员加油稿
2015/07/21 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python
德劲DE1105机评
2022/04/05 无线电
SpringBoot全局异常处理方案分享
2022/05/25 Java/Android