CẬP NHẬT Jade v0.24.0 sửa lỗi này với cú pháp !=
cho thuộc tính. option(value!='<%= id %>')
Làm thế nào để biến các thuộc tính phần tử mã hóa HTML của Jade, và tạo ra một giá trị chuỗi ký tự bằng chữ?
Tôi đang cố gắng để xây dựng một <option>
với ngọc bích, trong đó giá trị của quyền chọn là một UnderscoreJS mẫu dấu: <%= id %>
nhưng tôi không thể có được nó để làm việc vì ngọc bích được chuyển đổi văn bản đánh dấu của tôi để <= id >
.
Dưới đây là đánh dấu Jade tôi:
script(id="my-template", type="text/template")
select(id="type")
<% _.each(deviceTypes, function(type){ %>
option(value='<%= type.id %>') <%= type.name %>
<% }) %>
Tôi hy vọng nó sẽ tạo ra html này:
<script id="my-template" type="text/template">
<select id='type'>
<% _.each(deviceTypes, function(type){ %>
<option value="<%= type.id %>"> <%= type.name %> </option>
<% }) %>
</select>
</script>
Nhưng những gì tôi nhận được thay vào đó, là thế này:
<script id="my-template" type="text/template">
<select id='type'>
<% _.each(deviceTypes, function(type){ %>
<option value="<%= type.id %>"> <%= type.name %> </option>
<% }) %>
</select>
</script>
Note rất sự khác biệt tinh tế trong dòng <option>
của đầu ra ... thuộc tính value
của t tùy chọn của anh ta đã được mã hóa HTML.
Làm cách nào để ngăn Ngọc bích mã hóa HTML giá trị này? Tôi cần nó để tạo ra giá trị bằng chữ, giống như cách nó làm với văn bản của tùy chọn.
Gần đây tôi đã có cùng một vấn đề với việc đặt giá trị thuộc tính bằng cách sử dụng dấu gạch dưới và tìm thấy một công việc xung quanh. Không siêu đẹp, nhưng nó tốt hơn so với sử dụng HTML thô. –