Cette question semble avoir trouvé une réponse, mais une solution plus élégante qui n'a pas été mentionnée consiste simplement à placer les accolades entre guillemets entre les accolades, comme ceci:
{{ '{{myModelName}}' }}
Si vous utilisez une variable pour le contenu, faites-le à la place:
{{ '{{' ~ yourvariable ~ '}}' }}
Vous devez utiliser des guillemets simples , pas des guillemets doubles. Les guillemets doubles permettent l'interpolation de chaînes par Twig, vous devez donc être plus prudent avec le contenu, surtout si vous utilisez des expressions.
Si vous détestez toujours voir tous ces accolades, vous pouvez également créer une macro simple pour automatiser le processus:
{% macro curly(contents) %}
{{ '{{' ~ contents ~ '}}' }}
{% endmacro %}
Enregistrez-le en tant que fichier et importez-le dans votre modèle. J'utilise ng
le nom car il est court et doux.
{% import "forms.html" as ng %}
Ou vous pouvez mettre la macro en haut de votre modèle et l'importer en tant que _self (voir ici) :
{% import _self as ng %}
Ensuite, utilisez-le comme suit:
{{ ng.curly('myModelName') }}
Cela produit:
{{myModelName}}
... et un suivi pour ceux qui utilisent MtHaml aux côtés de Twig. MtHaml permet d'utiliser les boucles AngularJS de la manière normale car tout code Twig est accessible via - et = au lieu de {{}}. Par exemple:
HTML simple + 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 avec brindille de style MtHaml:
- set twigVariable = "somevalue"
= twigVariable
%tr(ng-repeat="product in products")
%td {{ product.name }}