【问题标题】:Re-render variables in HTML with Handlebars.js使用 Handlebars.js 在 HTML 中重新渲染变量
【发布时间】:2013-12-04 07:14:59
【问题描述】:
我想在Handlebars 加载和渲染模板后在我的HTML 模板中渲染一些变量。大多数变量在 AJAX 调用后可用,我希望先加载模板,然后再渲染数据,但无需重新渲染整个模板。加载的模板没有包装在 Handlebars 模板 <script> 标记中,它们只是纯 HTML。
我是否需要在 Handlebars <script> 标签中包装在 AJAX 调用之后呈现的所有变量?还是有其他更优雅的解决方案?
【问题讨论】:
标签:
javascript
templates
handlebars.js
【解决方案1】:
我个人会将我的模板拆分为“主”模板和在 AJAX 调用后将呈现的部分。
这样,您可以控制渲染的内容和时间。使用 jQuery 非常简单:
$.ajax([...], function(data) {
$("#main .your-selector").append(newTemplate(data));
});
另一种解决方案是在您的元素中放置 id,这样您就可以在此处放置数据:
$.ajax([...], function(data) {
$("#someField").html(data.someData);
});
希望这会有所帮助:)