2014-11-06 13 views
12

Ho la seguente template padre:di accesso in funzione di modello reso in Meteor

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

voglio accedere al contesto dati genitore childTempl:

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

Come posso fare questo ? Qualsiasi aiuto sarebbe molto apprezzato.

+1

Avete dato un'occhiata a https://docs.meteor.com/#/full/template_parentdata? – mark

+0

Sì. Il problema è che quando uso 'Template.parentData (1) ._ id' nella mia funzione' rendered', ottengo questo errore: 'Errore: non c'è vista corrente'. – user3475602

+1

È strano, l'ho appena testato e sembra funzionare. Cosa restituisce this.view o Blaze.currentView all'interno della funzione di rendering? – mark

risposta

22

È possibile utilizzare Template.parentData(n) per accedere al contesto genitore in qualsiasi helper di template o callback reso. Vedi i documenti here. Internamente, tutto ciò che fa è chiamare il metodo getView Blaze per la vista genitore finché non raggiunge il contesto genitore desiderato (come definito da n).

+3

Come si farebbe in un evento? Template.hello.events()? –

Problemi correlati