在分页器模板中有一个组件。当前,无论href是采用localhost:3000/
还是page
的形式,所有链接的行为都好像是相对于根(在这种情况下为/page
)一样,(我什至尝试了{{ 1}}。)
因此对于分页,我只想修改查询字符串,我必须将当前视图的完整路径传递给href的组件,这有点麻烦。相对链接无效,我在做错什么吗? (如果有一种方法可以使他们直接调用./page
,则更好,我输入了“转到页面:[x]”。)如果没有,建议使用一种方法来从内部获取当前路径。组件,这样我就可以把它放在分页组件中吗?
答案 0 :(得分:2)
当前,Sapper不支持相对链接。
获取当前路径的最佳方法是使用window.location.href
,该方法仅在安装组件后才可用。
这是一个已知问题(“ two's complement”),已于2020年5月4日移至“讨论中/ RFC提案”中:
“目前,所有页面都是相同的,这意味着您不能使用相对URL。这是有充分理由引入的,但事实证明会引起问题。”
答案 1 :(得分:0)
如果您的页面例如是http:// localhost:3000 / product / foo,则实际上可能有一种解决方法 在您的foo.svelte文件中,通常通常是这样的:
<a href="#anchor"> link to same page </a>
但是在sapper中,您必须将页面放置为完整路径:
<a href="product/foo#anchor"> link to same page </a>
测试于: “ sapper”:“ ^ 0.28.10”, “ svelte”:“ ^ 3.29.4”