Ответ 1
Для этой цели raw:
<script type="text/x-handlebars">
{% raw %}
{{#view App.MyView}}
<h1>Hello world!</h1>
{{/view}}
{% endraw %}
</script>
Update
Так как тег raw
устарел, используйте verbatim
.
Мне нужно вывести часть шаблонов дескрипторов на стороне клиента, в которой есть теги, похожие на теги twig 'say':
<script type="text/x-handlebars">
{{#view App.MyView}}
<h1>Hello world!</h1>
{{/view}}
</script>
И твинг пытается проанализировать эти шаблоны. Как я могу предотвратить это? Можно ли пометить раздел шаблона как обычный текст?
Для этой цели raw:
<script type="text/x-handlebars">
{% raw %}
{{#view App.MyView}}
<h1>Hello world!</h1>
{{/view}}
{% endraw %}
</script>
Так как тег raw
устарел, используйте verbatim
.
{% raw%} устарело
{% verbatim %}
<ul>
{% for item in seq %}
<li>{{ item }}</li>
{% endfor %}
</ul>
{% endverbatim %}
Для больших блоков шаблонов я бы предложил переместить те шаблоны script в отдельный файл/файлы (где, я полагаю, они должны сделать все более структурированным).
Затем визуализируйте шаблоны в своей ветке с помощью исходной команды {{source ('uploadables-js.html')}} (ВАЖНО, no 'use' или 'include').
Чтобы не мутировать шаблоны с сырыми или текстовыми тегами, можно изменить lexar параметры, которые не конфликтуют с механизмами шаблонов клиентской стороны:
...
$lexer_options = [
'tag_variable' => ['{~', '~}'],
];
$lexer = new Twig_Lexer($twig, $lexer_options);
$twig->setLexer($lexer);