2016-01-31 9 views
5

Chociaż jest renderowany zgodnie z oczekiwaniami:Dlaczego zagnieżdżone w wyjściowym każdy szablon nic

{{#each Items}} // a collection 
    {{title}} 
{{/each}} 
{{#each types}} // another ollection 
    {{refId}} 
{{/each}} 

jeśli mogę umieścić go razem:

{{#each Items}} 
    {{title}} 
    {{#each types}} 
    {{refId}} 
    {{/each}} 
{{/each}} 

#each types jest pusty.

Pomocnicy szablon:

Template.menuItems.helpers({ 
    restMenuItems: function() { 
     return RestMenuItems.find({restRefId: this._id}, {sort:Template.instance().sort.get()}); 
    }, 
    restMenuSideItems: function() { 
     return RestMenuSideItems.find({restRefId: this._id},   {sort:Template.instance().sort.get()}); 
    } 
}); 

Template.menuItems.onCreated(function(){ 
    this.subscribe('restMenuItems'); 
    this.subscribe('restMenuSideItems'); 
}); 

A niektóre kodu szablonu: pojawia się nic

{{#each restMenuItems}} 
    <div> 
    <select class="list-group select_side_addons"> 
     {{#each restMenuSideItems}} 
     <option>{{restRefId}}</option> 
     {{/each}} 
    </select> 
    </div> 
{{/each}} 

Nawet przy wymianie {{#each restMenuSideItems}} przez {{#each ../restMenuSideItems}}.

Co jest nie tak?

Odpowiedz

3

Ponieważ klauzula #each zmienia kontekst danych na bieżący element.

Jeśli chcesz uzyskać listę types wewnątrz każdego z Items, możesz uzyskać kontekst danych rodzica za pomocą ...

Jeśli types jest atrybutem kontekście dominującej:

{{#each Items}} 
    {{title}} 
    {{#each ../types}} 
    {{refId}} 
    {{/each}} 
{{/each}} 

Jeśli types jest szablonem pomocnika, można przekazać kontekst nadrzędny jako argument do niego:

{{#each Items}} 
    {{title}} 
    {{#each types ..}} 
    {{refId}} 
    {{/each}} 
{{/each}} 

i użyj kontekst dla zapytania.

Template.myTemplate.helpers({ 

    types: function(parent) { 
    // you now have the parent context here. 
    // use parent._id etc. where you used this._id in the 
    // "flat" version. 
    } 
}); 
+0

Dzięki, ale wciąż jest taka sama. –

+0

Dziwne, to powinno zadziałać. Czy możesz podać więcej kodu (np. Twoi pomocnicy i pełniejszy kod szablonu)? Skąd pochodzą "Przedmioty" i "typy"? – MasterAM

+0

Po prostu zrobiłem. @MasterAM –

Powiązane problemy