我一直在使用动态DOM附加来初始化我的应用程序,使用jQuery.handlebars作为模板库。但是jQuery.handlebars的问题是它没有将模板呈现给动态调用的DOM。示例
$(document).ready(function(){
$('body').append('<div id="content"></div>');
$('#content').render('default', {
});
)};默认是模板文件default.hbs,所有模板路径都已正确初始化。
但在这种情况下,
index.html
<div id="#content"></div>jQuery文件
$('#content').render('default', {
});jQuery.handlebars的另一个问题是它没有使用jQuery在模板中追加任何元素。示例
default.hbs
<div id="#append-content"></div>jQuery码
$('#append-content").html('Hi');但是内容“嗨”并没有出现。
这有点令人困惑,请告知如果它是错误的,或如果不赞成使用jQuery.handlebars,请建议一个新的模板库与之配套。
发布于 2014-07-21 09:31:44
jquery.handlebars呈现方法是异步的。您正在尝试在呈现完成之前添加到容器中。render方法在完成呈现时触发“render.handlebars”事件。在回调中执行DOM操作。
$('#content').render('template', {
}).on('render.handlebars', function() {
$('#append-content').html("hello");
}); https://stackoverflow.com/questions/24859629
复制相似问题