artTemplate 模板引擎,从后台获取到的数据就是html代码如何渲染到页面

artTemplate 模板引擎,从后台获取到的数据就是html代码,渲染到页面还是标签,如何解决

clipboard.png

阅读 10k
5 个回答

正好最近也在用 artTemplate 也遇到了这个问题。

使用 {{@html}} 进行原文输出

有风险、慎用。

clipboard.png

官方教程:https://aui.github.io/art-tem...原文输出 

你可以用jQuery来替换标签

<script>
    var data="<font color='red'>测试数据</font>";//带有html标签的测试数据
    $('#div1').html(data);//通过html()方法将数据输出到div中
</script>

你试一下吧!哥们,但是别忘了引进jQuery了
当然,原生的js也是可以的

新手上路,请多包涵

很简单,你新建一个DOM节点<div id="content"></div>,然后var一个变量等于这段代码,把这个变量赋给这个DOM节点就可以了,用jQuery的方法楼上已经说了,原生的方法就是
<script>

var str = "那段代码";
document.getElementById("content").innerHTML(str);

</script>

// [3]. 使用模版生成 HTML,默认对输出进行转义,不转义使用 {{#value}}

新手上路,请多包涵

我使用的是template-web.js,也遇到了题主这样的问题,查了好多资料无果,看了一些回答都不能帮助我解决问题,后来查看官方文档(官网也坑),遂试了试用‘@$’两个字符一起,结果成功了,如下面的,一个是‘$value.periods’是文本渲染,‘@$value.dom’是dom元素渲染。

{{each render}}
<ul class="reword_list">
    <li class="reword_first">{{$value.periods}}</li>
    <li class="reword_second clearnfix">{{@$value.dom}}</li>
    <li class="reword_third"><input type="button" value="查询"></li>
</ul>
{{/each}}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题