2016-02-24 4 views
0

У меня есть блок ручек, который отлично обрабатывался, пока я не обернул его в пользовательский блок. В частности, есть вызов родительского контекста для получения типа Currency. Имейте в виду, что этот блок Рули заворачивают в 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.

Вопрос в том, как мне получить его, чтобы снова вернуться к родительскому контексту?

ответ

0

Хорошо, поэтому я понял. Вы должны подняться на еще один уровень. Это не обязательно родительский контекст в смысле объекта, это вспомогательный родительский контекст, и поэтому чем глубже вы идете, тем выше стек, как структура каталогов.

Новый код выглядит следующим образом:

<strong>{{currency ../../Currency}}{{priceFormat PricePerBillingPeriod}}</strong> 

 Смежные вопросы

  • Нет связанных вопросов^_^