首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您能为Svelte's Routify中的param应用正则表达式吗?

您能为Svelte's Routify中的param应用正则表达式吗?
EN

Stack Overflow用户
提问于 2022-10-27 14:33:46
回答 1查看 22关注 0票数 0

我目前有一个路由,我已经将其配置为(foo|bar)。因此,现在我的example子路由接受以下组合:

代码语言:javascript
复制
/foo/example
/bar/example

但是,当我导航到我的示例页面时,$page.path/(foo|bar)/example,所以除非我检查location.pathname,否则我无法判断第一个参数是foo还是bar

另一方面,如果我将我的目录重命名为[myParam]而不是(foo|bar),那么所有类型的字符串都会匹配这个路由,例如:

代码语言:javascript
复制
/i-dont-want-that/example
/or-that/example

那么,我应该使用哪个目录名来创建一个名为myParam的参数,以满足正则表达式(foo|bar)

EN

回答 1

Stack Overflow用户

发布于 2022-10-27 17:35:08

在Routify2中,本机不可能做到这一点,但您可以这样做。

代码语言:javascript
复制
<!-- root _layout.svelte -->
<script>
  import { params, goto } from '@roxi/routify'
  if (!['foo', 'bar'].includes($params.myParam)
    $goto('/404')
</script>

值得注意的是,静态路径总是优先于动态路径,因此您不必担心冲突路径。

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

https://stackoverflow.com/questions/74223824

复制
相关文章

相似问题

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