场景:在费用配置列表中,点击每一项的配置,都会在页面容器内部打开一个新页面,所以新页面的路径一样,根据传的参数不同,面包屑和标签页标题动态改变
- http://localhost/feeManage/feeConfigDetail?id=4&metaTitle=3253的费用配置
-
- http://localhost/feeManage/feeConfigDetail?id=1&metaTitle=eww的费用配置



若依vue前端能跳转到新路径的方法,我暂且知道这三种形式:
1 在若依的菜单项添加

2 在router里添加

3 直接用

第1和第2钟做法,都是要提前声明一个路由对象,然后使用
- this.$router.push({
- path: '/feeManage/feeConfigDetail',
- query: {
- id: row.id,
- metaTitle: row.chargeName + '的费用配置'
- },
- })
第3钟做法,不用声明就可以直接跳转,但是因为你不曾声明过,所以面包屑和标签页标题是不会发生改变的。如下:

如果直接使用第2种 在router里添加路由的做法,缺点也很明显,那就是权限是被固定了,不能根据父级菜单的权限进行权限拦截了。所以我使用了第1种方法,同时还要注意,这是详细页面,不应该在左侧菜单栏出现,所以要隐藏

讲清楚路由后,就要讲,如何动态设置路由path不同参数 在页面容器里打开新页面,面包屑和标签页标题根据参数动态改变
使用1方法创建好路由后,然后用$router.push设置传的参数,我们使用metaTitle来当页面标题
- this.$router.push({
- path: '/feeManage/feeConfigDetail',
- query: {
- id: row.id,
- metaTitle: row.chargeName + '的费用配置'
- },
- })
如果你只做到了这里,你就会发现,它确实跳转页面了,但是它是同一个页面进行了不同参数的刷新,然后页面的标题也没有动态改变,而是你之前菜单配置时写的标题,如图:

下面就需要改改若依的源码了:
1、先改面包屑

2、在页面容器中,打开新的标签页,改标签页标题(把要修改文件和修改内容框出来,有个明显的对比,知道改哪里)


最后在新页面取出参数


也是写完上面的内容以后,才发现有bug,路径一样,参数不一样的标签,去单击的时候,没有刷新内容,而是保留第一次点击的标签的页面。。。如图

原因:若依vue前端源码中用的
在自己的跳转页面vue中监听路由参数:
