![]() | 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 shakaraka PRO 你这问题和我当年在 sf 的问的问题一样。 https://segmentfault.com/q/1010000017007660?_ea=13033647 解决方法是只能是用绝对路径。所以鉴于一些问题以及这个问题,我跳坑到 ng 了。 世间美好 |
![]() | 9 shakaraka PRO 安利下 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 谢谢 |