2017-12-19 8 views
0

나는 Svelte (위대한!)를 시험하고있다. 그러나 나는 해결할 방법을 모른다라는 문제에 부딪치고있다. 두 개의 슬롯이있는 구성 요소가 있습니다. 이 슬롯이 채워 졌는지 여부에 따라 추가 HTML을 렌더링해야합니다. 그래서 내 생각은이 블록을 {{#if slots}} 블록 안에 넣는 것이 었습니다. 그러나 나는이 슬롯을 참조하는 방법을 모릅니다. this.options.slotsoncreate에 넣으면 슬롯 컬렉션을 볼 수 있지만 구성 요소의 HTML 부분에서 어떻게 가져올 지 모르겠습니다. 누구든지 나를 도와 줄 수 있니? See this REPL고급 구성 요소 내부의 명명 된 슬롯에 액세스하는 방법은 무엇입니까?

+0

Uhmmm, this.set()이 트릭을해야합니다. 어리석은 나를 ... –

답변

0

엘코 이미 답을 파악하고 코멘트에 언급,하지만 다른 사람을 위해 사람이 건너 온다 - 조금 해키,하지만 당신은 oncreate 후크 this.set(...)을 수행 할 수 있습니다

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

Demo here.

+0

감사합니다 리치 (그리고 큰 당신이 svelte 및 sapper에 대한 훌륭한 작품을 주셔서 감사합니다), 나는 이러한 명명 된 슬롯에 또 다른 문제가 : 나는이 같은 Title here'하지만 작동하지 않습니다. 나는' 제목을 여기에'해야만합니다. 물론 그다지 우아하지는 않습니다. 이 문제를 해결할 방법이 있습니까? –

+0

현재 없습니다. 슬롯 형 구성 요소는 추후 지원 될 수있는 기능이지만 불행히도 슬롯 형 요소 만 지원됩니다. –

+0

좋습니다. 이것을 github에 관한 문제로 넣을 수 있습니까? –