如何在svelte/sapper组件中link相对于当前页面?
How to link relative to current page in svelte/sapper component?
我在带有分页的 sapper 模板中有一个组件。目前所有链接的行为都好像它们是相对于根目录(在本例中为 localhost:3000/
),无论 href 的形式是 page
还是 /page
,(我什至尝试过 ./page
.)
因此对于我只想修改查询字符串的分页,我必须将当前视图的完整路径传递到 href 的组件中,这有点麻烦。相对链接不起作用是我做错了什么吗? (如果有办法让它们直接调用 goto()
就更好了,我有一个 "Goto page: [x]" 输入。)如果没有,是否有推荐的方法从组件内部获取当前路径,所以我可以把它扔到分页组件中吗?
目前,Sapper 不支持相对链接。
获取当前路径的最佳方法是使用 window.location.href
,只有在安装组件后才可用。
这是一个已知问题(“Update to reflect current route?”),已于 2020 年 5 月 4 日移至 "In Discussion / RFC Proposal":
"At present, is the same for all pages, which means you can't use relative URLs. This was introduced for good reasons, but it turns out to cause problems."
如果您的页面是 http://localhost:3000/product/foo,实际上是可行的解决方法
通常 在您的 foo.svelte 文件中 link 到本地页面应该是这样的:
<a href="#anchor"> link to same page </a>
但在 sapper 中,您必须将页面放在完整路径中:
<a href="product/foo#anchor"> link to same page </a>
测试于:
“工兵”:“^0.28.10”,
“苗条”:“^3.29.4”
我在带有分页的 sapper 模板中有一个组件。目前所有链接的行为都好像它们是相对于根目录(在本例中为 localhost:3000/
),无论 href 的形式是 page
还是 /page
,(我什至尝试过 ./page
.)
因此对于我只想修改查询字符串的分页,我必须将当前视图的完整路径传递到 href 的组件中,这有点麻烦。相对链接不起作用是我做错了什么吗? (如果有办法让它们直接调用 goto()
就更好了,我有一个 "Goto page: [x]" 输入。)如果没有,是否有推荐的方法从组件内部获取当前路径,所以我可以把它扔到分页组件中吗?
目前,Sapper 不支持相对链接。
获取当前路径的最佳方法是使用 window.location.href
,只有在安装组件后才可用。
这是一个已知问题(“Update to reflect current route?”),已于 2020 年 5 月 4 日移至 "In Discussion / RFC Proposal":
"At present, is the same for all pages, which means you can't use relative URLs. This was introduced for good reasons, but it turns out to cause problems."
如果您的页面是 http://localhost:3000/product/foo,实际上是可行的解决方法 通常 在您的 foo.svelte 文件中 link 到本地页面应该是这样的:
<a href="#anchor"> link to same page </a>
但在 sapper 中,您必须将页面放在完整路径中:
<a href="product/foo#anchor"> link to same page </a>
测试于: “工兵”:“^0.28.10”, “苗条”:“^3.29.4”