0

これらはすべて、ハンドルバー テンプレートに渡すオブジェクトです。

self.template = template({ data: self.model, lang:self.lang, page:self.mainPage, subpage:self.param }); 

次に、 foreach ループ内に、親コンテキスト要素にアクセスできない if ステートメントがあります。テンプレート内にあるコードと問題を以下に示します。

    {{#each data}}  
        <h1>{{../subpage}}</h1> --> This is giving me a subpage value
        {{#if this.brand}} 

                  {{#if ../subpage}}
                    <h1>WHY IS THIS NOT SHOWING?</h1> --> This is what i am trying to achieve
                  {{/if}}

        {{/if}}  
    {{/each}}

これを達成する方法はありますか?すべての回答/コメントをありがとうございました!

4

1 に答える 1

0

{{#if this.brand}}別のレベルのコンテキストに降りるので、親コンテキストに 1 回ではなく 2 回エスケープする必要があります。

したがって、テンプレートは次のようになります。

{{#each data}}  
    <h1>{{../subpage}}</h1>
    {{#if this.brand}} 

        {{#if ../../subpage}}
            <h1>This shows now!</h1>
        {{/if}}

    {{/if}}  
{{/each}}

これは、次のself.modelような値で機能するはずです。

[
    {
        brand: "Brand A",
        otherFields: "here"
    }
]

ソリューションを示す jsFiddle を次に示します。ネストされた if ステートメント コンテキスト エスケープ

それが役立つことを願っています!

于 2013-06-15T02:32:19.670 に答える