此模块包含了对从 [`$app/state`]($app-state) 导出的基于存储的等效项。如果您正在使用 SvelteKit 2.12 或更高版本,请使用该模块。 ```js // @noErrors import { getStores, navigating, page, updated } from '$app/stores'; ``` ## 获取商店 ```dts function getStores(): { page: typeof page; navigating: typeof navigating; updated: typeof updated; }; ``` ## 导航 > 使用从 `$app/state` 的 `navigating` 替代(需要 Svelte 5,[查看文档以获取更多信息](/docs/kit/migrating-to-sveltekit-2#SvelteKit-2.12:-$app-stores-deprecated)) 可读的存储。当开始导航时,其值是一个具有 `Navigation` 对象,包含 `from`、`to`、`type` 和(如果 `type === 'popstate'`)`delta` 属性的 `null`。当导航完成时,其值恢复为 `null`。 在服务器上,此存储只能在组件初始化期间订阅。在浏览器中,可以在任何时候订阅。 ```dts const navigating: import('svelte/store').Readable< import('@sveltejs/kit').Navigation | null >; ``` ## 页 > 使用 `页面` 从 `$app/state` 中代替(需要 Svelte 5,[查看文档获取更多信息](/docs/kit/migrating-to-sveltekit-2#SvelteKit-2.12:-$app-stores-deprecated)) 一个包含页面数据的可读存储。 在服务器上,此存储只能在组件初始化期间订阅。在浏览器中,可以在任何时候订阅。 ```dts const page: import('svelte/store').Readable< import('@sveltejs/kit').Page >; ``` ## 更新 > 使用 `updated` 从 `$app/state` 中替换(需要 Svelte 5,[查看文档获取更多信息](/docs/kit/migrating-to-sveltekit-2#SvelteKit-2.12:-$app-stores-deprecated)) 一个初始值为`false`的可读存储。如果`version.pollInterval`是一个非零值,SvelteKit 将轮询应用的新版本,并在检测到新版本时将存储值更新为`true`。`updated.check()`将强制立即检查,无论是否轮询。 在服务器上,此存储只能在组件初始化期间订阅。在浏览器中,可以在任何时候订阅。 ```dts const updated: import('svelte/store').Readable & { check(): Promise; }; ```