3

環境

ハンドルバーを使用してイベントをループし、ネストされた画像をループしようとしています。イベント ループが現在オンになっているイベントに対応する画像のみを選択する必要があります。


問題

ネストされた画像内のイベントの _id を渡すことができません。これに対する回避策はありますか? ヘルパーを介して変数を渡すことができることはわかっていますが、もっと簡単な方法があるかどうかを知っておくとよいでしょう。


以下は、これまでのところ機能していないもののメタコードです。

//attach venue image to each venue
{{#each myVenues}}
   {{#each myImages}}
      {{#if myVenues._id == myImages._id}}
         <img src="{{this.url}}>
      {{/if}}
   {{/each}}
{{/each}}

どんな助けでも大歓迎です!

4

1 に答える 1

3

最近のバージョンのスペースバーは、親の参照をサポートしています。試す:

{{#each myVenues}}
    {{#each myImages}}
        {{#if ../_id == myImages._id}}
            <img src="{{this.url}}>
        {{/if}}
    {{/each}}
{{/each}}

編集:

Christian Fritz は、if ステートメントの条件付きロジックがスペースバーでは機能しないことを指摘しました。条件付きロジックを評価するヘルパーを設定した場合でも、これを機能させることができます。

{{#each myVenues}}
    {{#each myImages}}
        {{ifequals ../_id myImages._id}}
            <img src="{{this.url}}>
        {{/if}}
    {{/each}}
{{/each}}

次に、ヘルパーで:

Template.registerHelper('ifequals', function(a,b) {
    return a === b;
});
于 2015-12-08T19:01:27.663 に答える