我正在使用带有 jquery mobile 的 mustache 模板引擎。我无法弄清楚为什么我的 html 没有使用 jqm 正确格式化。这是我的html/脚本:
<body>
<div id="john" data-role="page">
<div id="header" data-role="header"></div>
<div id="content" data-role="content"></div>
<div id="footer" data-role="footer"></div>
</div>
<script>
var data = {
technique : "Knee Slide Pass",
steps : ["Step 1", "Step 2", "Step 3"],
msg : "Hard Works Pays Off"
};
$.get('template.html', function(templates) {
var header = $(templates).filter('#tpl-header').html();
var content = $(templates).filter('#tpl-content').html();
var footer = $(templates).filter('#tpl-footer').html();
$('#header').html(Mustache.to_html(header, data));
$('#content').html(Mustache.to_html(content, data));
$('#footer').html(Mustache.to_html(footer, data));
//$('#footer').html(Mustache.to_html(footer, data)).trigger('create');
//$this.trigger('create').trigger('refresh').page();
});
</script>
</body>
这是我的模板.html:
<div id="tpl-header">
<h1>{{technique}}</h1>
</div>
<div id="tpl-content">
<ul id="loader">
{{#steps}}
<li>
{{.}}
</li>
{{/steps}}
</ul>
</div>
<div id="tpl-footer">
<h1>{{msg}}</h1>
</div>
生成的网页确实有一个包含内容的页眉和页脚。但是,页眉非常大且位于左侧(与页脚相同)。如果我只是在 html 中硬编码页眉和页脚,它就可以工作。但是当 jqm 更新 html 时,它的格式不正确。我已阅读添加 .trigger('create') 但不起作用。任何人都可以请帮助,我已经在这方面工作太久了。提前致谢!
约翰