2017-12-19 3 views
0

私はSvelte(素晴らしい!)を試していますが、私は解決する方法がわからないという問題に遭遇しています。私はいくつかの名前付きスロットを持つコンポーネントを持っています。これらのスロットが満たされているかどうかに基づいて、私は追加のHTMLをレンダリングする必要があります。だから、私の考えはブロックを{{#if slots}}ブロックに入れることでしたが、名前付きスロットを参照する方法はわかりません。 this.options.slotsoncreateに入れてみると、私はスロットのコレクションを見ることができますが、私は自分のコンポーネントのHTML部分にどのようにアクセスするのか分かりません。誰でも私を助けることができる? See this REPLsvelteコンポーネント内の名前付きスロットにアクセスするには?

+0

Uhmmm、this.set()はこのトリックを行う必要があります。愚かな私... –

答えて

0

エルコはすでに答えを考え出し、コメントでそれを言及したが、これに出くわす他の誰のために - それは少しハックですが、あなたはoncreateフックでthis.set(...)操作を行うことができます。

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

Demo here

+0

ありがとうリッチ(そして、あなたがすばらしい、とこしえに素晴らしい仕事をしてくれてありがとう)、私はこれらの名前のスロットに別の問題があります:私はこのようなカスタムコンポーネントを配置したいと思っています Title here'しかしそれは動作しません。私は ' Title hereここで'を実行しなければなりません。これを回避する方法はありますか? –

+0

現在のところありません。スロット型コンポーネントは、将来サポートされる可能性があるものですが、残念ながらスロット型要素のみがサポートされています。 –

+0

OK、クリア。これをギブスの問題として置くことはできますか? –

関連する問題