2012-12-03 2 views
1

chatroom의 여러 인스턴스에 동일한 코드를 사용하고 싶습니다.Meteor programmable templates 또는 와일드 카드 템플릿

동시에 6 개의 대화방을 화면에 표시하고 싶지만 각각 동일한 템플릿을 사용하지만 템플릿은 있지만 차이 인스턴스는 있지만 여전히 유성 방식으로 독립적으로 반응 할 수 있습니다.

어떻게하면 되나요?

답변

1

collection 개의 대화방을 사용할 수 있으며 each 도우미를 사용하여 현재 각 채팅방을 반복 할 수 있습니다. 해당 반복기 내부에는 chatroom에 대한 다른 템플릿이 있습니다. 그런 다음 여러 채팅방에 동일한 템플릿을 사용하게됩니다. 이것은 Meteor의 매우 일반적인 디자인 패턴입니다.

<template name='chatrooms'> 
    {{#each chatrooms}} 
    {{>chatroom}} 
    {{/each}} 
</template> 

<template name='chatroom'> 
    <div class='room'> 
    {{name}} 
    <ul> 
    {{#each messages}} 
    <li>{{text}}</li> 
    {{/each}} 
    </ul> 
    </div> 
</template> 
+0

하지만 같은 장소에 있지만 다른 장소에있는 대화방을 넣지 않으려면 어떻게해야합니까? 예를 들어, 팝업 안에 chatroom이 있거나 사이드 바 내부에 대화방을 만들거나 다양한 설정에 따라 기본 콘텐츠에 삽입 할 수 있습니까? – Harry

+0

다른 컨텍스트에서 템플릿을 호출하여 다시 사용할 수 있습니다. 따라서 팝업창에서'{{chatroom}}'을 사용하여 템플릿을 임베드 할 수 있습니다. 팝업 템플릿에서 당신은 어떤 대화방을 다루고 있는지를 지정하기 위해'{{#}} '을 사용할 수 있습니다. 그게 효과가 있다고 생각해. – bento