1
Tlin 2021-01-20 18:58:33 +08:00
说的有点懵。你是 A 、B 页面都是用相同的组件,但是 B 页面路由 push 后会跳到 A 页面? push 里面的参数是一些路由信息配置,看看有错没,此外看引入的组件里面看有没有路由跳转,通常 A 引入组件跟 B 引入组件不冲突
|
2
Carseason 2021-01-20 19:01:07 +08:00
绝对路径跳转
|
3
muunala10221 OP @Tlin 不好意思 没表达清楚 /a/1 /b/1 假如我当前处于 /b 下 我想跳转到 /b/1 这时候我$router.push(name : 1) 就会跳转到 /a/1 下
|
4
muunala10221 OP @Carseason 我查一下 感谢哈
|
5
xingyuc 2021-01-20 19:11:19 +08:00 via iPhone
name 区分或者写全路径
|
6
Tlin 2021-01-20 19:16:24 +08:00
看官网的编程式导航后面的一句话“注意: 如果目的地和当前路由相同,只有参数发生了改变 (比如从一个用户资料到另一个 /users/1 -> /users/2),你需要使用 beforeRouteUpdate 来响应这个变化 (比如抓取用户信息)。”
当然你可以试试绝对路径 可以转变策略,嵌套路由 https://router.vuejs.org/zh/guide/essentials/nested-routes.html |
7
OHyn 2021-01-20 19:24:19 +08:00
router.push ( path:‘xxxxx’)用这个 API 。
|
8
wunonglin 2021-01-20 19:45:07 +08:00
你这问题和我当年在 sf 的问的问题一样。
https://segmentfault.com/q/1010000017007660?_ea=13033647 解决方法是只能是用绝对路径。所以鉴于一些问题以及这个问题,我跳坑到 ng 了。 世间美好 |
9
wunonglin 2021-01-20 19:58:44 +08:00
安利下 ng 的导航方法
``` // http://127.0.0.1/user/1?page=1#header // params 的话,像这个 id,放数值后面就行了 this.Router.navigate(['/user', id], { // 相对于当前路由导航,去掉就会按照根目录导航 relativeTo: this.ActivatedRoute, // 设置查询参数 queryParams: { page: 1 }, // 可以合并上面的参数和原本 url 上的参数,也可以完全替换为上面的参数 queryParamsHandling: 'merge', // 可以设置锚点 fragment: 'header', }) ``` |
10
lin07hui 2021-01-21 08:09:18 +08:00
/a/1 和 /b/1 的 name 不能相同
{ path: '/a/1', name: 'a1', ... } { path: '/b/1', name: 'b1', ... } $router.push(name : 'a1') $router.push(name : 'b1') |
11
rodrick 2021-01-21 09:24:50 +08:00
1. name 不要一样,2. 写全路径 /a/1 or /b/1
|
12
muunala10221 OP 好的谢谢
|
13
muunala10221 OP @wunonglin 谢谢
|