我有一块 Handlebars 渲染得很好,直到我将它包裹在一个自定义块中。具体来说,需要调用父上下文来获取Currency
类型。请记住,这个 Handlebars 块被包裹在一个each
:
{{#each this.SubscriptionOptions.MonthlySubscriptions}}
所以很清楚我知道问题出在哪里,我只是不知道如何解决它。
这是把手块:
<p class="lead" style="font-size:40px">
{{#ifGreaterThanZero PricePerBillingPeriod}}
<strong>{{currency ../Currency}}{{priceFormat PricePerBillingPeriod}}</strong>
{{else}}
<strong>FREE</strong>
{{/ifGreaterThanZero}}
</p>
现在失败的部分是:
{{currency ../Currency}}
这是ifGreaterThanZero
帮助程序代码:
Handlebars.registerHelper('ifGreaterThanZero', function(value, options) {
var intVal = parseInt(value);
if (intVal) {
return options.fn(this);
} else {
options.inverse(this);
}
});
我看了一下this
,其实就是订阅选项本身,所以里面包含了PricePerBillingPeriod
例子。
问题是,我如何获得它以便再次到达父上下文?