Javascript的胡须渲染问题

Mustache Rendering Issue with Javascript

本文关键字:问题 胡须渲 Javascript      更新时间:2023-09-26

我刚刚开始使用Mustache,我遇到了这个渲染问题。我通过渲染函数发送数据:

return Mustache.render(html, data);

return Mustache.to_html(html, data);

但是当我将其附加到div 时,例如:

$('#jqt').append(html);

它在实际文本中返回如下结果:

<div id="product_search_view">&lt;form class="search-form" &gt;&lt;ul class="rounded"&gt;&lt;li&gt;&lt;input type="text" id="label" name="search" placeholder="Enter what you are looking for"&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="#" class="whiteButton submit" id="search-button" &gt;Search&lt;/a&gt;&lt;/form&gt;&lt;ul id="search-results" class="edgetoedge"&gt;&lt;/ul&gt;</div>

我怎么能留胡子不放那些字符?

似乎你把一个已经解析过的HTML传递给了Mustache。

下面是文档的一部分,其中介绍了转义字符和"三重胡须"的使用。

此外,这是另一个文档。阅读标签类型部分以及使用&防止转义。

我上次也遇到了这个奇怪的问题,我从某个地方得到了这个黑客的解决方案

var temp = Mustache.to_html(template, data_sources );
var correct_temp = $('<textarea />').html(temp).val();
$('#my_el').html(correct_temp);

不知道这是否是一种好的做法。