2014-01-08 2 views
0

У меня есть помощник руля, который сравнивает два значения. Мой код нижес использованием переменных внутри handlebars helper

{{#compare action "blank" operator="!="}} 
<button type="button" class="btn btn-primary btn-xs btn-approval" data-id="{{../sid}}" data-table="distributor">Approve</button> 
<button type="button" class="btn btn-danger btn-xs btn-delete-approval" data-id="{{../sid}}" data-table="distributor">Delete</button> 
{{/compare}} 

по какой-то причине я не могу получить доступ к переменной sid внутри помощника. Как мне это сделать?

+0

Вы можете перейти к sid в родительском контексте? – Mathew

+0

Не может помочь вам без кода. Здесь, как ни странно, вы не передали контекст страницы содержащемуся под шаблону. –

+0

код сравнения или полный шаблон handlebars –

ответ

0

Pass sid это как параметр для вспомогательного оборудования. И вы можете получить к нему доступ в качестве аргумента в вспомогательной функции.

{{#compare ../sid action "blank" operator="!="}} 
     <button type="button" class="btn btn-primary btn-xs btn-approval" data-id="{{sid}}" data-table="distributor">Approve</button> 
     <button type="button" class="btn btn-danger btn-xs btn-delete-approval" data-id="{{sid}}" data-table="distributor">Delete</button> 
{{/compare}} 

Вспомогательная функция может затем получить к ней доступ в качестве аргумента.

Handlebars.registerHelper('compare', function(sid, action, blank, operator, options) { 
    this.sid = sid; 
    // your code here... 
}); 
+0

Благодарим вас за это, но то, что я закончил, делало логику внутри моего обработчика вместо того, чтобы делать это с рулями –

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