编程语言
首页 > 编程语言> > Javascript-将JSON中的HTML作为数据传递给Assemble

Javascript-将JSON中的HTML作为数据传递给Assemble

作者:互联网

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

该站点是响应性的,并且需要使用分隔线< br />对文本进行一定程度的控制.或不间断空格避免孤立的话.有些句子要求将提及的标记或html实体包含在字符串中,否则我将被迫逐个单词分割句子,并将硬编码的html与json数据引用结合起来.想象这样的事情:

<p>{{word_1}}<br />{{word_2}}</p>

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

为了避免这种情况,我尝试像这样通过JSON传递html:

{ "sentence" : "word<br />word" }

然而,汇编输出是文字的,因此代替功能标签或使用功能标签,我得到其字符串版本,并且页面按字面显示word< br /> word.与& nbsp;相同

通过汇编将JSON中的html标签或实体从JSON传递到车把模板的正确符号是(如果有的话)?

解决方法:

车把默认情况下会转义HTML,但是您可以避免使用三重隐藏格式{{{}}}进行转义.查看以下.hbs页面:

---
title: Test
htmlData: This is some <br/> html in data
---
<p>double-stash: {{htmlData}}</p>
<p>triple-stash: {{{htmlData}}}</p>

结果是:

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

triple-stash: This is some
html in data

标签:assemble,html,json,javascript
来源: https://codeday.me/bug/20191120/2041606.html