2017-11-01 7 views
0

루프 내에 이름이 지정된 슬롯을 삽입하는 방법을 아는 사람이 있습니까? 나는 예를 들어,이 코드를 가지고 : 어린이 v-for 루프 내에 이름이 지정된 슬롯을 삽입하십시오.

<div v-for="num in nums" :key="num"> 
    <slot name="foo"></slot> 
</div> 

그리고 부모가 같다 :

Duplicate presence of slot "foo" found in the same render tree - this will likely cause render errors. 

: 내가 그래서 콘솔이 경고를 표시합니다 경우

<foo-component :nums="nums> 
    <template slot="foo"> 
     <span>Inside the foo component</span> 
    </template> 
</foo-component> 

을 누구든지 그 방법을 알고 있습니까?
미리 감사드립니다.

+4

당신이 뭘 하려는지? 오류는 아주 명백합니다. 같은 이름의 슬롯을 두 개 이상 가질 수 없습니다. – Bert

+0

예, 오류가 명시 적이며 이해할 수 없다는 것을 알고 있습니다. 그런 식으로 할 수없는 것처럼 보입니다. 루프 안에 이름이 지정된 슬롯을 배치하는 방법을 아는 사람이 있는지 궁금합니다. 루프를 반복하면서 루프 내부의 명명 된 슬롯에 코드를 배치하고 싶습니다. 따라서, 반복을 수행하는 자식에게 데이터를 전달하는 부모가 있어야하며 부모가 상황에 관한 다른 HTML 코드를 삽입 할 수있는 슬롯을 배치해야합니다. 호프가 의미가 있습니다. – spruzzi

+0

슬롯에 무언가를 전달하고 여러 번 렌더링하고 싶습니까? – Bert

답변

1

슬롯 이름은 고유해야합니다. 당신은 루프 내부의 슬롯을 만들려면, 당신은 슬롯 이름, 예컨대 :

<div v-for="num in nums" :key="num"> 
    <slot :name="'foo_' + num"></slot> 
</div> 

에 번호를 추가하고 다음과 같이 사용할 수 있습니다 :

<foo-component :nums="3"> 
    <template slot="foo_1"> 
     <span>Inside the foo component slot 1</span> 
    </template> 
    <template slot="foo_2"> 
     <span>Inside the foo component slot 2</span> 
    </template> 
    <template slot="foo_3"> 
     <span>Inside the foo component slot 3</span> 
    </template> 
</foo-component> 
+1

기꺼이 누군가 도와주었습니다 :) –

+0

감사합니다. 예, 저를 도왔습니다. :) – Harry