2012-06-14 39 views
15

Làm cách nào để sử dụng chữ "{{" trong mẫu Mustache?Làm cách nào để sử dụng mẫu {{in a Moustache "?

Lưu ý phụ, nếu tôi đang sử dụng thẻ tùy chỉnh, như <%%>, có cách nào để viết "<%" không?

Về mặt lý thuyết, tôi có thể sử dụng các thẻ khác nhau, nhưng tôi có quá nhiều mã được viết bằng cách sử dụng {{}} để thay đổi tất cả.

Trả lời

36

Chỉ cần thay đổi các ký tự phân cách tạm thời:

{{=<% %>=}} 
{{Look at the curlies!}} 
<%={{ }}=%> 
2

Giả sử bạn đang xuất HTML, bạn có thể sử dụng thực thể HTML để tránh nó (ria mép không có cách nào để thoát khỏi thẻ mở được tích hợp sẵn).

Vì vậy, để xuất {{ bạn sẽ viết &#123;{.
Để xuất số <% bạn sẽ viết &lt;%.

+1

Và nếu tôi không sử dụng HTML? – dbkaplun

+0

@MindVirus Giống như tôi đã nói Mustache không có bất kỳ cách nào để thoát khỏi thẻ mở được xây dựng trong. Có những cách giải quyết mặc dù. Giống như thay đổi dấu phân cách của bạn, xuất biểu tượng, và sau đó thay đổi dấu phân cách trở lại. Có thể có cách giải quyết tốt hơn tùy thuộc vào những gì bạn xuất ra, như là dành cho HTML. – Paulpro

3

Bạn có thể tự mình sử dụng {{ một cách dễ dàng. Nếu bạn đang cố gắng ghi lại một cái gì đó như {{example}}, bạn luôn có thể vượt qua trong hai cur đầu tiên nằm với dữ liệu của bạn.

orphaned curlies are easy {{ <br> 
{{curly}}example}} curlies are harder 

Một số vẽ đơn giản:

var data = { 'curly' : '{{'}, 
    tpl = $('#curly').html(), 
    html = Mustache.to_html(tpl, data); 

document.write(html);​ 

Kết quả trong:

orphaned curlies are easy {{ 
{{example}} curlies are harder 

Đây là full working jsFiddle

+0

Có cách nào để thực hiện điều đó mà không qua một biến không? – dbkaplun

+0

Bạn không thể nói cho trình phân tích cú pháp tôn trọng một mẫu hình đôi khi không phải lúc nào cũng là cách giải quyết các biến và các thực thể HTML. – maxbeatty

0

Chỉ cần thêm một cú đúp xoăn,

someTest = "<example>", {{someTest}} -> "&lt;example&gt;" {{{someTest}}} -> "<example>"

Các vấn đề liên quan