首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有关vue-路由器的问题,我不能将一些单词排除在路径正则表达式之外。

有关vue-路由器的问题,我不能将一些单词排除在路径正则表达式之外。
EN

Stack Overflow用户
提问于 2021-09-03 13:13:34
回答 2查看 667关注 0票数 1

我有与vue-路由器相关的问题,我需要从路由器路径中排除一些单词,比如:word1、some-word2、word3.

代码语言:javascript
运行
复制
{ 
    path: '/:pageIdenfifier(?!word1|some-word2|word3), 
    name: 'SomePage', 
    component: () => import('@/views/index'), 
    props: true, 
}

但这不起作用- https://paths.esm.dev/?p=AAMeJbiAwBIUTHbAdgHNgAGvAjgHhxDgd4DsAYC1AEYGfCB1eFujBYAiq5kBdgSY4KMICgAA&t=/word1#

EN

Stack Overflow用户

发布于 2021-09-03 13:34:36

作为替代,您可以在此路由中使用beforeEnter保护,例如:

代码语言:javascript
运行
复制
const blackList = ['word1','some-word2','word3']

const router = new VueRouter({
  routes: [
    {
      path: '/:pageIdenfifier',
      name: 'SomePage',
      component: () => import('@/views/index'), 
      props: true,
      beforeEnter: (to, from, next) => {
        blackList.includes(to.params.pageIdenfifier)
          ? next('/route-in-case-of-true')
          : next();
      }
    }
  ]
})

beforeEnter中,只需检查pageIdenfifier是否与来自blackList的值匹配,如果是true,则应提供另一条路由或404页。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69045529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档