请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

routes.push({ path: '/:catchAll(.*)', redirect: '/404' })

(1)catchAll是啥意思,跟官网{ path: ‘/:pathMatch(.)’, name: ‘NotFound’, component: NotFound }的pathMatch()啥区别
(2)这个路由对象为啥不能直接添加到publicRoutes里面啊,要动态添加,是啥原因,请具体讲一下。

正在回答 回答被采纳积分+3

1回答

Sunday 2022-04-09 15:34:40

你好

  1.  path: '/:catchAll(.*)' 表示剩余的所有路由匹配

  2. 因为咱们的路由需要动态添加啊,都加到 publicRoutes 里面,权限不就都做了吗?

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_Simpleisbeau_0 #1
    {
            path:  '/:catchAll(.*)',
            redirect: '/404'
          }
    
    老师我是说这条路由为啥不直接写死在publicRoutes 里面去而是要动态添加,这条路由我试过写死在publicRoutes里面,然后展现的效果跟你动态添加的没区别啊
    回复 有任何疑惑可以回复我~ 2022-04-09 20:41:28
  • Sunday 回复 提问者 qq_Simpleisbeau_0 #2
    因为该路由表必须放在最后,否则它就可以匹配所有的路由请求。如果把它放在 publicRoutes 中,那么在后面新增动态路由表时,它无法置于最后位置
    回复 有任何疑惑可以回复我~ 2022-04-09 21:48:00
  • 提问者 qq_Simpleisbeau_0 回复 Sunday #3
    我试过放在publicRoutes 里面,可以访问后面的,可能vue-router更新的原因吧!而且官方给出的【捕获所有路由或 404 Not found 路由】代码是这个【{ path: '/:pathMatch(.*)*', name: 'NotFound', component: NotFound }】
    回复 有任何疑惑可以回复我~ 2022-04-10 00:52:28

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信