Câu hỏi này xuất hiện đã được trả lời, nhưng một giải pháp thanh lịch hơn chưa được đề cập là chỉ đơn giản là đính kèm các dấu ngoặc nhọn trong dấu ngoặc kép giữa các dấu ngoặc nhọn, như vậy:
{{ '{{myModelName}}' }}
Nếu bạn đang sử dụng một biến cho nội dung, hãy làm điều này thay vào đó:
{{ '{{' ~ yourvariable ~ '}}' }}
Bạn nên sử dụng dấu ngoặc đơn , không phải dấu ngoặc kép. Dấu ngoặc kép cho phép nội suy chuỗi bằng Twig, do đó bạn phải cẩn thận hơn với nội dung, đặc biệt nếu bạn đang sử dụng biểu thức.
Nếu bạn vẫn ghét nhìn thấy tất cả các dấu ngoặc nhọn, bạn cũng có thể tạo một macro đơn giản để tự động hóa quy trình:
{% macro curly(contents) %}
{{ '{{' ~ contents ~ '}}' }}
{% endmacro %}
Lưu nó dưới dạng tệp và nhập nó vào mẫu của bạn. Tôi đang sử dụng ng
cho tên vì nó ngắn và ngọt ngào.
{% import "forms.html" as ng %}
Hoặc bạn có thể đặt macro ở đầu mẫu và nhập dưới dạng _elf (xem tại đây) :
{% import _self as ng %}
Sau đó sử dụng nó như sau:
{{ ng.curly('myModelName') }}
Kết quả này:
{{myModelName}}
... Và theo dõi cho những người sử dụng Mt Haml cùng với Twig. Mt Haml cho phép sử dụng các curlies AngularJS theo cách thông thường bởi vì bất kỳ mã Twig nào cũng được truy cập - và = thay vì {{}}. Ví dụ:
Đồng bằng HTML + AngularJS:
<tr ng-repeat="product in products">
<td> {{ product.name }} </td>
</tr>
Mt Haml + AngularJS:
%tr(ng-repeat="product in products")
%td {{ product.name }}
Mt Haml + AngularJS với Twig theo phong cách Mtoutl:
- set twigVariable = "somevalue"
= twigVariable
%tr(ng-repeat="product in products")
%td {{ product.name }}