2014-11-06 12 views
12

Mam następujący szablon nadrzędny:dostępu w szablonie renderowane funkcję w Meteor

<template name="parentTempl"> 
    {{#each child}} 
     {{> childTempl}} 
    {{/each}} 
</template> 

Chcę uzyskać dostęp do kontekstu danych rodzic w childTempl:

Template.childTempl.rendered = function() { 
    console.log(this.parent.data); // ? 
}; 

Jak mogę to zrobić ? Każda pomoc będzie bardzo ceniona.

+1

Czy obejrzałeś https://docs.meteor.com/#/full/template_parentdata? – mark

+0

Tak. Problem polega na tym, że kiedy używam 'Template.parentData (1) ._ id' w mojej funkcji' renderowanej', pojawia się następujący błąd: 'Błąd: Brak bieżącego widoku'. – user3475602

+1

To dziwne, właśnie to przetestowałem i wygląda na to, że działa. Co powoduje, że this.view lub Blaze.currentView wracają do renderowanej funkcji? – mark

Odpowiedz

22

Można użyć Template.parentData(n), aby uzyskać dostęp do kontekstu nadrzędnego wewnątrz dowolnego pomocnika szablonu lub zrenderowanego wywołania zwrotnego. Zobacz dokumentację here. Wewnętrznie, wszystko, co robi, to wywołanie metody blaze getView dla widoku nadrzędnego, aż trafi w pożądany kontekst macierzysty (jak zdefiniowano przez n).

+3

Jak to zrobić w przypadku? Template.hello.events()? –

Powiązane problemy