Tôi đang sử dụng mẫu Gạch dưới (dựa trên Microtemplate của John Resig) và bất cứ khi nào tôi cố gắng thay thế ngắt dòng bên trong nó, tôi nhận được các hành vi lạ. Ví dụ, nếu tôi có văn bản như thế này:Gạch dưới/Microtemplate Thay thế ngắt dòng - Hành vi lạ
var message = 'Line1\r\n\r\nLine2';
tôi đúng cách có thể thay thế ngắt dòng với các thẻ BR Nếu tôi làm điều này:
$('#example1_no_template').html(message.replace(/\r?\n/g, '<br />'));
Tuy nhiên, nếu tôi cố gắng thay ngắt dòng bên trong gạch mẫu với mã ví dụ dưới đây, tôi không nhận được bất kỳ thẻ BR chèn vào:
<script id="template1" type="text/html">
<%= message.replace(/\r?\n/g, '<br />') %>
</script>
<script>
var template1 = _.template($('#template1').html());
$('#example1_template').html(template1({ message: message }));
</script>
Và kỳ lạ, nếu tôi thay đổi biểu hiện thường xuyên của tôi bên trong mẫu để điều sau đây, sau đó tôi nhận được tất cả các loại thẻ BR i nserted khắp nơi:
<script id="template3" type="text/html">
<%= message.replace(/[\r\n?]/g, '<br /><br />') %>
</script>
Tất cả những hành vi này được thể hiện trong fiddle này: http://jsfiddle.net/GHtDY/5/
Bất cứ ý tưởng gì đang xảy ra? Có thể thay thế ngắt dòng bên trong mẫu không?
Giải thích tuyệt vời. Cảm ơn bạn. –