vue——动态路由以及地址传参
动态路由: 
  当我们很多个页面或者组件都要被很多次重复利用的时候,我们的路由都指向同一个组件,这时候从不同组件进入一个”共用”的组件,并且还要传参数,渲染不同的数据 
  这就要用到动态路由跟路由传参了! 
   
  1.首先 是路由的设置 
  比如我们进入详情页需要三个动态参数,在路由中做如下设置: 
  
// 路由懒加载
    {
          path:'/detail/:typeId/:type/:typeName',
          name:'detail',
          component:resolve => require(['@/pages/detail'],resolve)
    },
1
2
3
4
5
6
2.当从不同入口进入详情页面,路由被激活时,执行路由守卫 beforeRouteEnter(created之前),得到路由参数
beforeRouteEnter (to, from, next) {
          next(vm=>{
            vm.desc(to.params.id); //desc是得到详情的接口;
          });
     },
1
2
3
4
5
3.beforeRouteEnter只是当路由放生变化的时候才执行,那么如何监听路由后面参数的变化呢,这时候路由守卫beforeRouteUpdate就要上场啦(watch虽然也可以解决,但是watch由于在时刻监听,所以在此很消耗内存,影响性能。不推荐在此使用watch)
beforeRouteUpdate(to, from, next) {
      // 在当前路由改变,但是该组件被复用时调用
      // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
      // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
      // 可以访问组件实例 `this`;
      // console.log(to);
      this.id = to.params.id;
      this.desc(this.id);
      next();
    }
在vue中,用地址栏传递参数有两种方法,一是query,另一个是params
两者的区别在于,query在地址栏中是可见的,而params是不可见的,相对来说更安全一点。 
两者用法如下: 
query要指定path, 
params要指定name,在组件中也要声明name;
this.$router.push({path:'/detail',query:{typeId:this.id,type:1,name:this.name}})
1
this.$router.push({name:'detail',params:{typeId:this.id,type:2,name:this.name}})
vue——动态路由以及地址传参的更多相关文章
- 18 vue 动态路由传参
		
params形式 http://192.168.1.100:8080/#/infoDetailed/231 //定义路由{ path: "/infoDetailed/:newsId" ...
 - vue动态路由配置,vue路由传参
		
动态路由: 当我们很多个页面或者组件都要被很多次重复利用的时候,我们的路由都指向同一个组件,这时候从不同组件进入一个"共用"的组件,并且还要传参数,渲染不同的数据 这就要用到动态路 ...
 - Vue 动态路由传值
		
一.动态路由传值 1.配置动态路由: const routes = [ //动态路由路径参数以:开头 { path: '/Content/:aid', component:Content}, ] 2. ...
 - vue动态路由
		
我们经常需要把某种模式匹配到的所有路由,全都映射到同个组件.例如,我们有一个 User 组件,对于所有 ID 各不相同的用户,都要使用这个组件来渲染.能够提供参数的路由即为动态路由第一步:定义组件 c ...
 - Vue 动态路由的实现以及 Springsecurity 按钮级别的权限控制
		
思路: 动态路由实现:在导航守卫中判断用户是否有用户信息,通过调用接口,拿到后台根据用户角色生成的菜单树,格式化菜单树结构信息并递归生成层级路由表并使用Vuex保存,通过 router.addRout ...
 - vue 动态路由 Get传值
		
main.js //2.配置路由 注意:名字 const routes = [ { path: '/home', component: Home }, { path: '/news', compone ...
 - Vue动态路由 Get传值
		
<template> <!-- 所有的内容要被根节点包含起来 --> <div id="home"> 我是首页组件 <ul> < ...
 - vue动态路由传值以及get传值及编程式导航
		
1.动态路由传值 1.配置路由处 { path: '/content/:id', component: Content }, // 动态路由 2.对应页面传值 <router-link :to= ...
 - Vue Router路由导航及传参方式
		
路由导航及传参方式 一.两种导航方式 ①:声明式导航 <router-link :to="..."> ②:编程式导航 router.push(...) 二.编程式导航参 ...
 
随机推荐
- 手把手教你用深度学习做物体检测(五):YOLOv1介绍
			
"之前写物体检测系列文章的时候说过,关于YOLO算法,会在后续的文章中介绍,然而,由于YOLO历经3个版本,其论文也有3篇,想全面的讲述清楚还是太难了,本周终于能够抽出时间写一些YOLO算法 ...
 - PyTorch : torch.nn.xxx 和 torch.nn.functional.xxx
			
PyTorch : torch.nn.xxx 和 torch.nn.functional.xxx 在写 PyTorch 代码时,我们会发现一些功能重复的操作,比如卷积.激活.池化等操作.这些操作分别可 ...
 - 洛谷P2216: [HAOI2007]理想的正方形 单调队列优化DP
			
洛谷P2216 )逼着自己写DP 题意: 给定一个带有数字的矩阵,找出一个大小为n*n的矩阵,这个矩阵中最大值减最小值最小. 思路: 先处理出每一行每个格子到前面n个格子中的最大值和最小值.然后对每一 ...
 - BZOJ-2743: [HEOI2012]采花 前缀和 树状数组
			
BZOJ-2743 LUOGU:https://www.luogu.org/problemnew/show/P4113 题意: 给一个n长度的序列,m次询问区间,问区间中出现两次及以上的数字的个数.n ...
 - 牛客-2018多校算法第五场C-KMP
			
字符串的问题 在原来的字符串中前缀与后缀相同,且原来的中间还含有这个子串: 这里加的num[]数组真是太厉害了,可以直接用来判断中间是否有子串: #include <iostream> # ...
 - codeforces 828 D. High Load(思维,水题)
			
题目链接:http://codeforces.com/contest/828/problem/D 题解:任意去一个点为根然后有几个k就是几个子叶也就是根结点有几个分支然后最好的解法就是贪心,将剩下的点 ...
 - CF981C Useful Decomposition 树 dfs 二十三 *
			
Useful Decomposition time limit per test 1 second memory limit per test 256 megabytes input standard ...
 - 树莓派4B安装64位Linux(不用显示器键盘鼠标)
			
入手了树莓派4B,我对它的定位是作为一个Docker实验环境,平时用到的镜像多为Java服务端常用的技术.以及自己作的Java应用镜像,因此宿主机需要64位操作系统,而树莓派官方操作系统只有32位的, ...
 - cf--703--A-- Mishka and Game
			
题目链接:http://codeforces.com/problemset/problem/703/A Mishka is a little polar bear. As known, little ...
 - SVN分支与主干合并
			
1.主干合并到分支 1在本地trunk中先update一下,有冲突的解决冲突,保证trunk和repository已经完全同步, 2.在/branches /MyProject上右键,依次选择”Tor ...