To pytanie wydaje się być odpowiedzią, ale bardziej eleganckim rozwiązaniem, o którym nie wspomniano, jest po prostu zamknięcie nawiasów klamrowych w cudzysłów między gałązkami nawiasów klamrowych, tak:
{{ '{{myModelName}}' }}
Jeśli używasz zmiennej dla zawartości, zrób to zamiast tego:
{{ '{{' ~ yourvariable ~ '}}' }}
Powinieneś używać pojedynczych cudzysłowów , a nie podwójnych. Podwójne cudzysłowy umożliwiają interpolację ciągów przez Twiga, więc musisz być bardziej ostrożny z zawartością, szczególnie jeśli używasz wyrażeń.
Jeśli nadal nie lubisz oglądać tych nawiasów klamrowych, możesz również utworzyć proste makro w celu zautomatyzowania procesu:
{% macro curly(contents) %}
{{ '{{' ~ contents ~ '}}' }}
{% endmacro %}
Zapisz go jako plik i zaimportuj do swojego szablonu. Używam ng
nazwy, ponieważ jest krótka i słodka.
{% import "forms.html" as ng %}
Możesz też umieścić makro na górze szablonu i zaimportować je jako _self (patrz tutaj) :
{% import _self as ng %}
Następnie użyj go w następujący sposób:
{{ ng.curly('myModelName') }}
To daje:
{{myModelName}}
... i kontynuacja dla tych, którzy używają MtHaml obok Twig. MtHaml umożliwia korzystanie z loków AngularJS w normalny sposób, ponieważ każdy kod Twig jest dostępny - i = zamiast {{}}. Na przykład:
Zwykły HTML + AngularJS:
<tr ng-repeat="product in products">
<td> {{ product.name }} </td>
</tr>
MtHaml + AngularJS:
%tr(ng-repeat="product in products")
%td {{ product.name }}
MtHaml + AngularJS z gałązką w stylu MtHaml:
- set twigVariable = "somevalue"
= twigVariable
%tr(ng-repeat="product in products")
%td {{ product.name }}