如何访问svelte组件内的命名槽?

问题描述 投票:0回答:1

我正在尝试Svelte(太棒了!)但是我遇到了一个我不知道如何解决的问题。我有一个带有几个命名插槽的组件。根据这些插槽是否已填充,我需要渲染一些额外的HTML。所以我的想法是将这些块放在{{#if slots}}块中,但我不知道如何引用命名槽。在this.options.slots中尝试oncreate,我可以看到插槽的集合,但我不知道如何在我的组件的HTML部分中找到它们。有人能帮帮我吗? See this REPL

javascript slots svelte
1个回答
0
投票

Elco已经找到了答案并在评论中提到了它,但对于遇到这个问题的其他人来说 - 它有点hacky,但你可以在this.set(...)钩子做oncreate

oncreate () {
  this.set({
    hasEmail: !!this.options.slots.email
  });
}

Demo here

© www.soinside.com 2019 - 2024. All rights reserved.