2014-11-06 26 views
12
işlevini render

Aşağıdaki ebeveyn şablon var:Erişim ana veri bağlam Meteor

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

ben childTempl ebeveyn veri bağlamına erişmeye istiyorum:

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

Bunu nasıl ? Herhangi bir yardım büyük takdir edilecektir.

+1

https://docs.meteor.com/#/full/template_parentdata? – mark

+0

Evet. Sorun, "rendered" fonksiyonumda Template.parentData (1) 'i kullanıyorum, bu hatayı alıyorum: 'Hata: Mevcut görünüm yok. – user3475602

+1

Bu garip, sadece test ettim ve işe yarıyor gibi görünüyor. This.view veya Blaze.currentView işlenen işlevin içinde ne döndürür? – mark

cevap

22

Template.parentData(n) numaralı telefonu, herhangi bir şablon yardımcısı veya oluşturulmuş geri aramadaki ana içeriğe erişmek için kullanabilirsiniz. Dokümanlar here'a bakın. Dahili olarak, tek yapabilmesi istenen ana içeriğe ulaşana kadar (n ile tanımlandığı gibi) ana görünüm için Blaze getView yöntemini çağırır.

+3

Bu bir olayda nasıl yapılır? Template.hello.events()? –