jsRender呈现HTML
我正在使用jsRender在html页面上呈现我的数据。 数据完美呈现。 但是,在某些内容项中,HTML文本(如超链接)显示为文本。 在jquery模板中,有一种方法可以通过{{html来呈现HTML。 jsRender中有类似的东西吗? 我的代码如下:
{{ =Status}} //need to convert this to HTML so it should appear as hyperlink.
谢谢。
JsRender beta候选人现已退出(参见Boris昨晚的posthttp://www.borismoore.com/2012/03/approaching-beta-whats-changing-in_06.html )
我写了一个快速小提琴来展示如何在这里呈现HTML: http : //jsfiddle.net/johnpapa/NfUGB/
基本上,只需使用{{> yourProperty}}标记来呈现HTML编码。 使用{{:yourProperty}}跳过编码。
。
var vm = { foo: "names", testData: [ { name: "John", markup: "John" }, { name: "Boris", markup: "Boris" } ] }; $("#div1").html($("#template").render(vm));
使用{{:Status}}
生成HTML代码。
查看jsRender的源代码,我可以看到该插件将<,>和&字符转换为HTML实体。 也许你可以尝试从jsRender更改这些行
escapeMapForHtml = { "&": "&", "<": "<", ">": ">" },
至
escapeMapForHtml = { },
注意从外部源插入未经检查的HTML的安全风险!
编辑:好的,检查示例(特别是03_no-encoding.html)带来了另一个解决方案。 所以继续并撤消我之前提出的更改并尝试使用
{{=Status!}
感叹号应该阻止jsRender更改HTML