我尝试使用mustache.js模板,但我的基本代码不工作,请帮助我哪里出错-
var person = {
firstName: "Christophe",
lastName: "Coenraets"
};
var template = "<h1>{{firstName}} {{lastName}}</h1>";
var output = Mustache.render(template, person);
document.getElementById('result1').innerHTML = output;
上面的代码是工作,但下面的代码不工作:-
下面这行代码写在我的.html页面中:
<script id="sample_template" type="text/template">
<h1>{{firstName}} {{lastName}}</h1>
</script>
这一行是写在我的.js文件中的:
var data ={
firstName: "Christophe",
lastName: "Coenraets"
};
var template = $('#sample_template').html();
//console.log(template); this prints the html content in console
var info = Mustache.to_html(template, data);
$('#result1').html(info);
6条答案
按热度按时间n3h0vuf21#
我得到的解决方案,我有两个胡子服务器端和客户端,我上面描述的问题是,当我试图填补客户端的占位符,然后这些占位符已经在服务器端消费(因为我没有sperate文件,必须渲染服务器端和谁渲染客户端).所以他们是没有占位符,而渲染客户端,所以只有我得到的html标签将显示.
o8x7eapl2#
从文档来看,
.to_html()
似乎已被弃用...relj7zay3#
我遇到了与level_0相同的问题。Django在服务器端的模板化也使用了与mustache-js相同的标记,即{{ }}
下面是一个简单的例子,它解决了Django服务器端模板化的问题。
cyvaqqii4#
如果您像我一样,因为在Google上搜索“Mustache.to_html is not a function”而出现在这个帖子中,您可以简单地将
Mustache.to_html
替换为Mustache.render
。第一个函数已经被删除,因此您可能更新了库。idv4meu85#
这对我很有效:http://jsfiddle.net/evildonald/qK5NT/
js:
HTML格式:
inb24sb26#
我遇到这个问题是因为我在后端使用了一个templater hbs。我通过在标记中间手动创建一个结构来解决这个问题。
在html中:
创建html:
已使用: