2012-12-03 19 views
11

Döngüsüz dış koleksiyon değerlerine erişmenin standart yolu nedir? örneğin : iç toplama Template.example.aaa yukarıdaİç içe döngüdeki dış {{each}} toplama değerine nasıl erişilir?

<template name="example"> 
    {{#each outerCollection}} 
    <tr> 
    {{#each innerCollection}} 
     <td>{{aaa}}</td> 
    {{/each}} 
    </tr> 
    {{/each}} 
</template> 

Template.example.aaa = function(){ 
    // cannot access outerCollection values 
} 

, this puan.

HariciKoleksiyon öğelerine erişmenin yolunu bulamıyorum. Çözümüm aşağıdakine benzer, kendi yardımcı işlevimi tanımlıyorum. Bu amaca ulaşmak için standart bir Meteor yolu mu?

<template name="example"> 
    {{#each outerCollection}} 
    <tr> 
    {{#each innerCollection}} 
     <td>{{myHelper ../outerItem innerItem}}</td> 
    {{/each}} 
    </tr> 
    {{/each}} 
</template> 

Handlebars.registerHelper('myHelper', function (outItem, inItem) { 
    // can access outerCollection via outerItem 
}); 

Ben iç olay işleyicisi erişimin durum için similar question bulundu.

+1

Sanırım bu kadar. Tam olarak soru nedir? –

+0

Yorumlarınız için teşekkürler. Bu soruyu yayınladım çünkü koduma güvenmiyorum ve bu amaç için meteor örnek kodunu bulamıyorum. Daha akıllıca bir uygulama bilen var mı bilmek istiyorum. – hyde

+1

İşte daha iyi bir yoldur, yukarıdaki gibi WriteHelper gerek, sözdizimi aşağıdakileri çalıştırabilir: Template.example.myHelper = function (outItem, inItem) {/ * outCtem yoluyla dışkullanım öğesine erişebilir * /}; – hyde

cevap

1

Dış koleksiyonları almak için aşağıdaki kodu kullanabilirsiniz.

Eğer Collection.RechargePlan Collection.Customer ve olarak adlandırılan koleksiyonu var ve Müşteri açısından güncellenmesi için bir şablon hem kullandığınızı varsayalım. ,

Yukarıdaki kodda
Customer = {"name":"James", "rechargeplan":"monthly"}; 
RechargePlan = [{"rechargeplan": "monthly"},{"rechargeplan": "yearly"}]; 

//Inside template, Bydefault Customer is available. 
{{#each RechargePlan}} 
    {{#if equals ../rechargeplan rechargeplan}} 
     //Hurray Plan matches 
    {{/if}} 
{{/each}} 

, ../rechargeplan aslında Customer.rechargeplan olduğunu ../ aslında heirarchy yukarıda bir adım gitti ve sonra Müşteri zaten şablona uygun olduğundan, varsa alanını erişilen alan alınıyor.

İlgili konular