_layout.svelte内的槽道具不通过道具 [英] Slot prop within _layout.svelte not passing prop

查看:0
本文介绍了_layout.svelte内的槽道具不通过道具的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在处理一个Sapper项目,我想在加载到插槽之前将一些异步数据加载到布局中。我发现在a_layout.svelte文件中,我无法向槽传递道具。

//_layout.svelte
<slot foo={"hello"}></slot>

//index.svelte
<script>
  export let foo;
  alert(foo); // returns undefined
</script>

有没有人遇到过这种情况?我想我可以通过在每个栏/子页面上加载我需要的所有数据来解决这个问题。我能够设置槽道具的唯一方法是手动访问它。

$$props.$$scope.ctx.level1.props.foo = "hello"

推荐答案

以这种方式传递数据似乎不起作用。您可以使用context

// in _layout.svelte
import {setContext} from 'svelte';
setContext('foo', foo);
// in index.svelte
import {getContext} from 'svelte';
const foo = getContext('foo');

这篇关于_layout.svelte内的槽道具不通过道具的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆