คำถามนี้ปรากฏคำตอบ แต่วิธีแก้ปัญหาที่หรูหรากว่าที่ไม่ได้กล่าวถึงคือการใส่เครื่องหมายปีกกาแบบโค้งในเครื่องหมายคำพูดระหว่างเครื่องหมายปีกกาแบบทวิกเช่น:
{{ '{{myModelName}}' }}
หากคุณกำลังใช้ตัวแปรสำหรับเนื้อหาให้ทำสิ่งนี้แทน:
{{ '{{' ~ yourvariable ~ '}}' }}
คุณควรใช้เครื่องหมายคำพูดเดี่ยวไม่ใช่เครื่องหมายคำพูดคู่ อัญประกาศคู่เปิดใช้งานการแก้ไขสตริงโดย Twig ดังนั้นคุณจะต้องระมัดระวังเนื้อหามากขึ้นโดยเฉพาะถ้าคุณใช้นิพจน์
หากคุณยังคงไม่อยากเห็นวงเล็บปีกกาทั้งหมดคุณสามารถสร้างมาโครแบบง่าย ๆ เพื่อทำให้กระบวนการเป็นไปโดยอัตโนมัติ
{% macro curly(contents) %}
{{ '{{' ~ contents ~ '}}' }}
{% endmacro %}
บันทึกเป็นไฟล์และนำเข้าสู่เทมเพลตของคุณ ฉันใช้ng
ชื่อเพราะสั้นและหวาน
{% import "forms.html" as ng %}
หรือคุณสามารถวางแมโครไว้ที่ด้านบนสุดของเทมเพลตแล้วนำเข้าเป็น _self (ดูที่นี่) :
{% import _self as ng %}
จากนั้นใช้ดังต่อไปนี้:
{{ ng.curly('myModelName') }}
ผลลัพธ์นี้:
{{myModelName}}
... และติดตามผู้ที่ใช้MtHamlควบคู่ไปกับ Twig MtHaml เปิดใช้งานการใช้ AngularJS curlies ในลักษณะปกติเนื่องจากมีการเข้าถึงรหัส Twig ใด ๆ - และ = แทน {{}} ตัวอย่างเช่น:
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 }}