2013-06-05 46 views
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}} 

任何想法如何实现这一目标?非常感谢您提供所有答案/评论!

回答

0

{{#if this.brand}}进入上下文的另一个级别,所以您必须不是一次而是两次转到父上下文。因此

您的模板应该是:

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

这里是一个的jsfiddle演示解决方案:nested if statement context escaping

我希望

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

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

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

这应该类似于self.model值工作这有帮助!