У меня есть простой шаблон руля:Как выполнить функцию объекта внутри шаблона
'<h1>Order number: {{orderNumber}}</h1>'
Это работает отлично.
Теперь у меня есть ситуация, когда объект, переданный им для рендеринга, имеет функцию возврата себя id. Это происходит следующим образом:
'<h1>Order number: {{orderNumber}}</h1><h2>Order ID:{{getId()}}</h2>'
Как я могу сделать handlebar выполнить getId() и вместо этого поместить его значение?
Моя неудачная попытка.
Шаблон:
'<h4>Order number: {{orderNumber}}</h4><h4>{{#getId }}</h4>'
Registered функция:
hbs.registerHelper('getId', function(param, opts) {
//return param.getId()
return 666;
});
Независимо от того, что я стараюсь я всегда получаю эту ошибку:
"Parse error on line 1:\n...{{#getId }}\n-----------------------^\nExpecting 'OPEN_INVERSE_CHAIN', 'INVERSE', 'OPEN_ENDBLOCK', got 'EOF'"
Если удалить GetId из шаблона, то он работает так, как ожидалось.
Я пытался, и не могу заставить его работать. Не могли бы вы проверить мой вопрос? –
Используете ли вы этот синтаксис для вызова helper '{{#getId someParam}}'? Нет '()', '#' при начале. 'Handlebars.registerHelper' - также важно, это глобальная регистрация – VadimB
Да, я это делаю. Точно так же, как в моем отредактированном вопросе. –