在导入到 _layout 的组件上不会预加载 运行
Preload won't run on component imported to _layout
如果我在应用程序根目录的组件中使用预加载函数,为什么它永远不会 运行s?
来自 https://github.com/sveltejs/sapper-template/issues/94 我认为这曾经是一个错误,但已修复。
所以我有点难以理解为什么这不会 运行:
_layout.svelte
import someComponent from 'someComponent.svelte';
<someComponent />
someComponent.svelte
<script context="module">
export async function preload({ params, query }) {
console.log("i ran")
}
</script>
来自 Sapper docs,
page components can have an optional preload function
preload
不会 运行 因为 someComponent.svelte
不是页面组件(即它不会响应用户导航到路由而呈现)
正如此处其他答案中所述,预加载功能似乎仅在路线上 运行。为了获得所需的效果,我可以 运行 在 onMount 函数中获取数据,或者将来自 _layout 的 api 调用的数据传递到所需的组件。然而,这里的问题是,如果你有一个嵌套的组件结构,通过多个组件传递 props 可能会变得非常混乱。
如果我在应用程序根目录的组件中使用预加载函数,为什么它永远不会 运行s? 来自 https://github.com/sveltejs/sapper-template/issues/94 我认为这曾经是一个错误,但已修复。
所以我有点难以理解为什么这不会 运行:
_layout.svelte
import someComponent from 'someComponent.svelte';
<someComponent />
someComponent.svelte
<script context="module">
export async function preload({ params, query }) {
console.log("i ran")
}
</script>
来自 Sapper docs,
page components can have an optional preload function
preload
不会 运行 因为 someComponent.svelte
不是页面组件(即它不会响应用户导航到路由而呈现)
正如此处其他答案中所述,预加载功能似乎仅在路线上 运行。为了获得所需的效果,我可以 运行 在 onMount 函数中获取数据,或者将来自 _layout 的 api 调用的数据传递到所需的组件。然而,这里的问题是,如果你有一个嵌套的组件结构,通过多个组件传递 props 可能会变得非常混乱。