jQuery/Backbone/Mustache/JSON将HTML呈现为文本字符串

6

我很疲倦,我知道我以前见过这个问题,但Google没有帮助我。我正在制作一个单页面的backbone动力WP主题。数据只是WordPress JSON API数据,我已经在几个项目中愉快地使用了backbone,但这次它不太友好。它正在显示html标签而不是使用它们:

在此输入图片描述

下面是渲染代码:

this.template = '<div class="post-list">{{#posts}}<article><h2>{{title}}</h2><span class="postcontent">{{content}}</span></article>{{/posts}}</div>';

            if(this.model.get("rawdata").posts!=undefined && this.model.get("rawdata").posts.length>0)
            {
                var posts = [];
                for(i=0;i<this.model.get("rawdata").posts.length;i++)
                {
                    posts[i] = new PostModel(this.model.get("rawdata").posts[i]);
                }
                this.postCollection = new PostCollection(posts);
                this.htm = Mustache.render(this.template,this.model.get("rawdata"));
                this.$el.empty().html(this.htm);
                log(this.htm)           
            }
            else
            {
                //handle no-data result error
            }
2个回答

10

尝试在模板中的变量名前加上&

{{& posts}}
或者
{{& title}}

所有的信息都在文档


不错!我以前从没见过这个好技巧……太棒了!现在我可以去睡觉了!谢谢。 - Alex

8
另一个选择是使用三个大括号:

{{{title}}}

这在文档中也有说明。这个选项在Nustache中同样适用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接