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

时间:2017-12-19 07:24:13

标签: javascript slots svelte

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

1 个答案:

答案 0 :(得分:0)

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

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

Demo here