2016-04-13 6 views
0

メーターヘルパーにパラメーターを渡し、単なる最終値が返されるのではなく、返されたオブジェクトのプロパティをHTMLに挿入することができるのだろうかと思います。オブジェクトを返すメーターヘルパーにパラメーターを渡す方法

HTML::

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

ヘルパー:

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 
    } 
}); 

私のhtmlの3行目が動作していないようだ...

+0

あなたのコードが盗聴されていないか、インデントの悪いものではないことを確認するために[編集]してください(複数のカッコがありません)。ヘルパー呼び出しの構文が無効です。単に 'findOne'によって返されたオブジェクトの' userName'値を返さないのはなぜですか? –

答えて

1

このuserNameをしなければならない、私はこのようなものを持っていますあなたのテンプレートで利用可能:

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

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

ありがとうございました。しかし、オブジェクトから読み込み、HTMLのさまざまな部分に挿入する3つのプロパティがあります。 3つの異なる 'findOne'クエリを実行せずにHTMLのプロパティを読み取る方法はありますか? – Ruben

+0

フェッチされたメンバオブジェクトへの参照を格納し、必要なプロパティを持つオブジェクトリテラルを返します。 'var member = Members.findOne({userId:Id})fetch(); return { userName:member.userName、 myProp:member.myProp、 ... }「 –

+0

Excelent!ありがとう@フランセスコ – Ruben

関連する問題