2 ответов:
вы можете изменить начальные и конечные теги интерполяции с помощью
interpolateProviderсервис. Одним из удобных мест для этого является время инициализации модуля.angular.module('myApp', []).config(function($interpolateProvider){ $interpolateProvider.startSymbol('{[{').endSymbol('}]}'); });
на этот вопрос появляется ответ, но более элегантное решение, которое не было упомянуто, - это просто заключить фигурные скобки в кавычки между фигурными скобками ветки, например:
{{ '{{myModelName}}' }}если вы используете переменную для содержимого, сделайте это вместо:
{{ '{{' ~ yourvariable ~ '}}' }}вы должны использовать одинарные кавычки, а не двойные кавычки. Двойные кавычки позволяют интерполировать строки по ветке, поэтому вам нужно быть более осторожным с содержимым, особенно если вы используем выражения.
если вы все еще ненавидите видеть все эти фигурные скобки, вы также можете создать простой макрос для автоматизации процесса:
{% macro curly(contents) %} {{ '{{' ~ contents ~ '}}' }} {% endmacro %}сохраните его в виде файла и импортируйте в свой шаблон. Я использую
ngдля имени, потому что оно короткое и сладкое.{% import "forms.html" as ng %}или вы можете поместить макрос в верхней части шаблона и импортировать его как _self (см. здесь):
{% import _self as ng %}тогда используйте его как следует:
{{ ng.curly('myModelName') }}вот результаты:
{{myModelName}}
...и последующие меры для тех, кто использует MtHaml вместе с прутиком. MtHaml позволяет использовать AngularJS curlies обычным образом, потому что любой код ветки доступен, хотя - и = вместо {{ }}. Например:
обычный 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 с веточкой в стиле MtHaml:
- set twigVariable = "somevalue" = twigVariable %tr(ng-repeat="product in products") %td {{ product.name }}
Comments