我目前有一个路由,我已经将其配置为(foo|bar)。因此,现在我的example子路由接受以下组合:
/foo/example
/bar/example但是,当我导航到我的示例页面时,$page.path是/(foo|bar)/example,所以除非我检查location.pathname,否则我无法判断第一个参数是foo还是bar。
另一方面,如果我将我的目录重命名为[myParam]而不是(foo|bar),那么所有类型的字符串都会匹配这个路由,例如:
/i-dont-want-that/example
/or-that/example那么,我应该使用哪个目录名来创建一个名为myParam的参数,以满足正则表达式(foo|bar)
发布于 2022-10-27 17:35:08
在Routify2中,本机不可能做到这一点,但您可以这样做。
<!-- root _layout.svelte -->
<script>
import { params, goto } from '@roxi/routify'
if (!['foo', 'bar'].includes($params.myParam)
$goto('/404')
</script>值得注意的是,静态路径总是优先于动态路径,因此您不必担心冲突路径。
https://stackoverflow.com/questions/74223824
复制相似问题