Javascript 在JSON中传递HTML作为汇编中的数据

Javascript 在JSON中传递HTML作为汇编中的数据,javascript,html,json,assemble,Javascript,Html,Json,Assemble,我正在从事一个需要多语言支持的项目。我决定使用Assemble(更具体地说是grunt Assemble),因为它已经是项目工具箱的一部分,所以我当前的设置使用JSON文件作为把手模板的数据/文本输入 该网站是响应性的,需要对文本进行一定程度的控制,使用断行或非断行空格,以避免孤立词。有些句子需要在字符串中包含提到的标记或html实体,否则我将被迫逐字拆分句子,并将硬编码html与json数据引用结合起来。想象一下这样的情景: <p>{{word_1}}<br />{{w

我正在从事一个需要多语言支持的项目。我决定使用Assemble(更具体地说是grunt Assemble),因为它已经是项目工具箱的一部分,所以我当前的设置使用JSON文件作为把手模板的数据/文本输入

该网站是响应性的,需要对文本进行一定程度的控制,使用断行

或非断行空格
,以避免孤立词。有些句子需要在字符串中包含提到的标记或html实体,否则我将被迫逐字拆分句子,并将硬编码html与json数据引用结合起来。想象一下这样的情景:

<p>{{word_1}}<br />{{word_2}}</p>
{ "sentence" : "word<br />word" }
{{word_1}}
{{{word_2}

这种方法对翻译也不是很友好,因为不同的语言可能根本不需要换行

为了避免这种情况,我尝试通过JSON传递html,如下所示:

<p>{{word_1}}<br />{{word_2}}</p>
{ "sentence" : "word<br />word" }
{“句子”:“单词
word”}
然而,汇编输出是文本的,所以我得到了它的字符串版本,而不是函数标记,页面会逐字显示
word
word
。同样适用于


通过汇编将html标记或实体从JSON传递到handlebar模板的正确表示法是什么(如果有的话)?

handlebar默认转义html,但您可以避免使用三重隐藏格式转义
{{{}
。请看以下.hbs页面:

---
title: Test
htmlData: This is some <br/> html in data
---
<p>double-stash: {{htmlData}}</p>
<p>triple-stash: {{{htmlData}}}</p>
---
标题:测试
htmlData:这是一些
数据中的html --- 双重隐藏:{{htmlData}}

三重隐藏:{{{htmlData}}}

结果:

double-stash: This is some <br/> html in data

triple-stash: This is some
html in data
double-stash:这是数据中的一些
html 三重储藏:这是一些 数据中的html
我认为正确的答案是不要。只需在JSON中传递数据,并使用javascript生成html客户端。