2014-12-08 3 views
1

많은 컬렉션에서 사용할 패키지에 목록 템플릿 (#each)이 있습니다. 템플릿은 패키지에 있으므로 쉽게 사용자 지정할 수 없습니다. 그래서 나는 이것을 사용하는 훌륭한 예라고 생각했다. Template :. 데이터를 전달하는 것 외에는 모두 작동합니다.Template.dynamic이 데이터 컨텍스트를 전달하지 않습니다.

.. 나는 데이터를 라우팅 된 페이지로 가져 와서 동적 템플릿과 일치하도록 데이터를 조작합니다.

Template.usersIndex.helpers({ 
    items: function() { 
    var users = Meteor.users.find({}).fetch(); 
    var items = users.filter(function(user) { 
     return user; 
    }).map(function(user){ 
     return { 
     name: user.profile.name, 
     description: user.emails[0].address, 
     tidbit: "hello" 
     }; 
    }); 
    return items 
    } 
}); 

는 ... 데이터가 usersIndex 템플릿에 완벽하게 전달합니다.

<template name="usersIndex"> 
    <div id="gc-users-index-navbar"> 
    <h2>Title</h2> 
    </div> 
    <div id="gc-users-index" class="inner-content"> 
    {{> Template.dynamic template="strataIndexItem" data="items" }} 
    </div> 
</template> 

...하지만 주사위는 없지만 동적 템플릿은 렌더링되지만 데이터는 표시되지 않습니다.

<template name="themeIndex"> 
    <div class="list-group"> 
     {{#each items }} 
      <div class="list-group-item"> 
      <div class="row-content"> 
       <div class="least-content">{{tidbit}}</div> 
       <h4 class="list-group-item-heading">{{name}}</h4> 
       <p class="list-group-item-text">{{description}}</p> 
      </div> 
      </div> 
      <div class="list-group-separator"></div> 
     {{/each}} 
    </div> 
</template> 
+0

'DynamicTemplate와'Template.dynamic'를 교체하십시오 '(iron : dynamic-template'에서 'iron : router'로 함축 됨), 표준 Meteor 동적 템플릿과 철 구현 사이에 충돌이 발생했습니다. 후자를 사용하기 시작할 때 반드시 구현해야한다고 생각합니다. 그것을 사용하여 스틱. – saimeunt

+0

흠 ... 항상 동일한 문자열을'Template.dynamic'에 전달하기 때문에 실제로 사용할 필요가 없습니다. –

답변

3

데이터를 문자열로 전달 하시겠습니까?

{{> Template.dynamic template="strataIndexItem" data="items" }} 
당신의 strataIndexItem 템플릿이 strataIndexItem 이름이 경우 확인 또한

{{> Template.dynamic template="strataIndexItem" data=items }} 

""하지 않고 변수로 데이터를 전달해야

:

<template name="strataIndexItem"> 
    ... 
</template> 
관련 문제