我通常使用以下内容重定向到任何页面,而不window.location.href在 Sveltekit 中使用
import { goto } from '$app/navigation';
const goSomeWhere = () :void => {
goto('/')
}
Run Code Online (Sandbox Code Playgroud)
但是我们如何让它返回到上一页呢?我应该使用普通 JavaScript 来返回吗?
yon*_*lee 16
您可以使用生命周期返回到上一页afterNavigate。
这比 @Jarduilno 的建议更可靠,因为并非每个传入链接都位于同一父路径中。
存储 URL 对象中的路径名from,并稍后在函数中使用它。前任: goto(previousPage)
import { goto, afterNavigate } from '$app/navigation';
import { base } from '$app/paths'
let previousPage : string = base ;
afterNavigate(({from}) => {
previousPage = from?.url.pathname || previousPage
})
Run Code Online (Sandbox Code Playgroud)
小智 11
您可以像这样使用 javaScript 历史对象history.back();
在我们的 SvelteKit 项目中,我们有时会导航到上一页,如下例所示
import { goto } from '$app/navigation';
import { page } from '$app/stores';
const goSomeWhereBack = () => {
goto($page.url.pathname.substring(0, $page.url.pathname.lastIndexOf('/')));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17069 次 |
| 最近记录: |