具有以下lodash模板源代码
<script id="resume-template" type="text/html">
<tr>
<td>Curriculum</td>
<td>
<%= _.unescape(resume.curriculum) %>
</td>
</tr>
</script>
并具有以下上下文
const context = {
resume: {
email: '...',
firstName: '...',
lastName: '...',
curriculum: "&lt;p&gt;some important information goes here&lt;/p&gt;\r\n&lt;p&gt;unordered list&lt;/p&gt;\r\n&lt;ul&gt;\r\n&lt;li&gt;item1&lt;/li&gt;\r\n&lt;li&gt;item2&lt;/li&gt;\r\n&lt;li&gt;item3&lt;/li&gt;\r\n&lt;li&gt;item4&lt;/li&gt;\r\n&lt;/ul&gt;\r\n&lt;p&gt;ordered list&lt;/p&gt;\r\n&lt;ol&gt;\r\n&lt;li&gt;pet1&lt;/li&gt;\r\n&lt;li&gt;pet2&lt;/li&gt;\r\n&lt;li&gt;pet3&lt;/li&gt;\r\n&lt;li&gt;pet4&lt;/li&gt;\r\n&lt;/ol&gt;\r\n&lt;p&gt;Some &lt;span style=&quot;text-decoration: line-through;&quot;&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;strong&gt;other&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;text-decoration: underline;&quot;&gt;information&lt;/span&gt; &lt;span style=&quot;text-decoration: line-through;&quot;&gt;goes&lt;/span&gt; &lt;strong&gt;here&lt;/strong&gt;&lt;/p&gt;"
}
}
和下面的实现
const app = document.querySelector('#app');
const resume = response; // ajax response
const source = document.querySelector('#resume-template').innerHTML;
const template = _.template(source);
app.innerHTML = template(resume);
我需要将HTML键的内容呈现为resume.curriculum,为了实现这一点,我首先对resume.curriculum内容<%= _.unscape(resume.curriculum) %>
进行了解译,但是我没有获得html,而是获得了html标记及其文本内容
作为帮助,如果我将以下内容放在模板中,<%= '<p><i>Some content</i></p>' %>
将被适当地呈现为html
我非常感谢任何帮助我解决这个问题的人
https://stackoverflow.com/questions/50805610
复制相似问题