这些是我传递给车把模板的所有对象。
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 :(得分:0)
{{#if this.brand}}
进入另一个级别的上下文,因此您必须转义到父上下文不是一次,而是两次。
因此,您的模板应为:
{{#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:nested if statement context escaping
我希望有所帮助!