2016-04-13 28 views
0

Bir meteor yardımcısına bir parametrenin iletilip geçirilmediğini ve döndürülmüş bir nesnenin bir özelliğinin döndürülüp dönüştürülmediğini merak ediyorum.Bir parametre döndüren meteor yardımcısına nasıl parametre geçirileceği

HTML:

<Template name ="conversationList"> 
    {{#each conversation}} 
    {{getName.userName convStarterId}} convStarterId its a property of conversation object  
    {{/each}} 
</Template> 

Yardımcısı:

Template.conversationList.helpers({ 
    getName: function(Id){ 
    return Members.findOne({userId:Id}) // the Object returned have a property userName}, 
    conversation: function() { //return info from another collection 
    } 
}); 

Benim html 3. satır çalışmıyor görünüyor ...

+0

Lütfen kodunuzun etiketlenmediğinden veya zayıf şekilde girilmediğinden emin olmak için [düzenle] 'ye gidin (birden fazla eksik kapatma parantezinin olduğu). Yardım çağrınızın sözdizimi geçerli değil. Neden 'findOne' tarafından döndürülen nesnenin' userName' değerini döndürmüyor? –

cevap

1

Bu userName yapmalıdır Böyle bir şey var Şablonunuzda şu ürünler kullanılabilir:

<template name="conversationList"> 
    {{#each conversation}} 
    {{getName convStarterId}}  
    {{/each}} 
</template> 

Template.conversationList.helpers({ 
    getName: function(Id){ 
    return Members.findOne({userId:Id}).userName; 
    }, 
    conversation: function() { 
    ... 
    } 
}); 
+0

Teşekkürler, işe yaradı. Bununla birlikte, nesneden okumak istediğim 3 özelliği var ve bunları HTML'imin farklı bölümlerine yerleştiriyorum. HTML'de 3 farklı 'findOne' sorgusu yapmadan özellikleri okuma yolu var mı? – Ruben

+0

Alınan üye nesnesine bir başvuru depolayın ve istediğiniz nesneyle bir nesne hazır değerlerini döndürün: 'var üye = Members.findOne ({userId: Id}) fetch(); dönüş { userName: member.userName, myProp: member.myProp, ... } ' –

+0

Mükemmel! TeşekkürlerFrancesco – Ruben