4

我在 sapper 模板中有一个带有分页的组件。目前,所有链接的行为都好像它们是相对于 root 的(localhost:3000/在这种情况下),无论 href 是在表单中page还是/page,(我什至尝试过./page。)

因此,对于我只想修改查询字符串的分页,我必须将当前视图的完整路径传递到 href 的组件中,这有点痛苦。是否有什么我做错了相关链接不起作用?(如果有办法让它们goto()直接调用就更好了,我有一个“转到页面:[x]”输入。)如果没有,是否有推荐的方法从组件内部获取当前路径,以便我可以抛出在分页组件中?

4

2 回答 2

2

目前,Sapper 不支持相对链接。

获取当前路径的最佳方法是使用window.location.href,它仅在安装组件后可用。

这是一个已知问题(“更新以反映当前路线? ”),已于 2020 年 5 月 4 日移至“讨论中/RFC 提案”:

“目前,所有页面都相同,这意味着您不能使用相对 URL。这是有充分理由引入的,但事实证明它会导致问题。”

于 2020-06-04T21:26:32.107 回答
0

实际上,一种解决方法是可能的,例如,如果您的页面是 http://localhost:3000/product/foo 通常在您的 foo.svelte 文件中,则到本地页面的链接应如下所示:

<a href="#anchor"> link to same page </a>

但是在工兵中,您必须放置页面完整路径:

    <a href="product/foo#anchor"> link to same page </a>

测试:“工兵”:“^0.28.10”,“苗条”:“^3.29.4”

于 2020-11-02T09:33:01.297 回答