首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >path-to-regexp查找与路由匹配的正则表达式

path-to-regexp查找与路由匹配的正则表达式
EN

Stack Overflow用户
提问于 2019-01-01 10:34:23
回答 1查看 587关注 0票数 0

我在页面加载时添加动态子组件。在parent的OnCreated中添加子路由不会在刷新页面时使页面工作。

因此,我正在解析页面模板(正如我在页面加载时所知道的那样)。

我现在正在寻找一种方法,以了解与href匹配的路线。Vue-js使用path-to-regexp,我的问题非常简单。

我想知道匹配的组件

代码语言:javascript
复制
const router = new VueRouter({
  routes: [
    // dynamic segments start with a colon
    { path: '/user/:id', component: User },
    { path: '/foo/bar', component: FooBar },

  ]
})    

// Reverse of this
var matchingComponent = howDoIDothis(/foo/bar) // this should give me the matching 

我需要它,这样我就可以从路径中删除,然后动态地将子组件添加到父组件中。

EN

回答 1

Stack Overflow用户

发布于 2019-01-01 16:51:46

您需要使用Vue路由器的router.getMatchedComponents method。但是,此方法要求您的路由器已使用所有路由完全初始化。否则,就没有办法了。Vue-router不会公开底层解析的正则表达式,您可以将其与href进行比较。

而且,您尝试做的不是,这是在单页面应用程序中最常用的方式。一个不错的做法是在某个JS文件中预先声明所有路由,您应该使用该文件来初始化路由器。当然,您会想要保护某些路由,对于这些路由,您应该使用路由守卫。

最后,当您预先声明了所有路由时,意味着您已经将所有组件预先捆绑到一个大的JS文件中。要避免这种情况,请将组件包装在async包装器中,而像Webpack这样的捆绑器将足够聪明,可以将捆绑包拆分为多个较小的文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53992705

复制
相关文章

相似问题

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