У меня есть блок 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
.
Вопрос в том, как мне сделать так, чтобы доступ к родительскому контексту снова работал?