请教个前端 vueRouter 问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
muunala10221
V2EX    程序员

请教个前端 vueRouter 问题

  •  
  •   muunala10221 2021-01-20 18:50:17 +08:00 1649 次点击
    这是一个创建于 1728 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我有两个路由 A 和 B,下级有很多名字相同的组件.
    假设我在 B 页面切换,$router.push 一个 A 和 B 的 children 下相同名字的组件,就会跳转到 A 的下面,有什么办法可以解决吗?
    Tlin
        1
    Tlin  
       2021-01-20 18:58:33 +08:00
    说的有点懵。你是 A 、B 页面都是用相同的组件,但是 B 页面路由 push 后会跳到 A 页面? push 里面的参数是一些路由信息配置,看看有错没,此外看引入的组件里面看有没有路由跳转,通常 A 引入组件跟 B 引入组件不冲突
    Carseason
        2
    Carseason  
       2021-01-20 19:01:07 +08:00
    绝对路径跳转
    muunala10221
        3
    muunala10221  
    OP
       2021-01-20 19:03:39 +08:00
    @Tlin 不好意思 没表达清楚 /a/1 /b/1 假如我当前处于 /b 下 我想跳转到 /b/1 这时候我$router.push(name : 1) 就会跳转到 /a/1 下
    muunala10221
        4
    muunala10221  
    OP
       2021-01-20 19:04:36 +08:00
    @Carseason 我查一下 感谢哈
    xingyuc
        5
    xingyuc  
       2021-01-20 19:11:19 +08:00 via iPhone
    name 区分或者写全路径
    Tlin
        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
    OHyn
        7
    OHyn  
       2021-01-20 19:24:19 +08:00
    router.push ( path:‘xxxxx’)用这个 API 。
    shakaraka
        8
    shakaraka  
    PRO
       2021-01-20 19:45:07 +08:00
    你这问题和我当年在 sf 的问的问题一样。

    https://segmentfault.com/q/1010000017007660?_ea=13033647

    解决方法是只能是用绝对路径。所以鉴于一些问题以及这个问题,我跳坑到 ng 了。

    世间美好
    shakaraka
        9
    shakaraka  
    PRO
       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',
    })
    ```
    lin07hui
        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')
    rodrick
        11
    rodrick  
       2021-01-21 09:24:50 +08:00
    1. name 不要一样,2. 写全路径 /a/1 or /b/1
    muunala10221
        12
    muunala10221  
    OP
       2021-01-21 09:31:18 +08:00
    好的谢谢
    muunala10221
        13
    muunala10221  
    OP
       2021-01-21 09:31:25 +08:00
    @wunonglin 谢谢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1032 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 18:43 PVG 02:43 LAX 11:43 JFK 14:43
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86