我试图找到一种方法将我的Backbone模板放在与HTTP请求中从服务器发送的主文件不同的HTML文件中。这样,我可以更轻松地查看页面的布局框架,而无需筛选所有可能会混乱HTML代码的Backbone模板。
我看到的一个解决方案是:
<head>
<script>
$(function(){
$("#includedContent").load("/LoginViewPartials.html");
});
</script>
</head>
然而,这似乎不起作用可能是因为(1)这是异步加载另一个html文件而不是同步加载;(2)将我的模板包含在第二个HTML文件中的整个方法可能完全有缺陷
是否有将Backbone模板放在单独的HTML文件中的最佳做法? JST模板允许您将模板放在JavaScript文件中,这是最好的解决方案吗?
答案 0 :(得分:0)
你可以使用jQuery的Deferred / Promise功能。
$.when(something).then(doSomething);
var that = this;
var templateRetrieved = this.getTemplate();
$.when(templateRetrieved).then(function(template){
var html = that.renderTemplate(template, data);
that.$el.html(html);
});