同步包含Backbone模板html

时间:2015-03-13 23:34:06

标签: javascript jquery html templates backbone.js

我试图找到一种方法将我的Backbone模板放在与HTTP请求中从服务器发送的主文件不同的HTML文件中。这样,我可以更轻松地查看页面的布局框架,而无需筛选所有可能会混乱HTML代码的Backbone模板。

我看到的一个解决方案是:

  <head>
    <script>
        $(function(){
            $("#includedContent").load("/LoginViewPartials.html");
        });
    </script>
 </head>

然而,这似乎不起作用可能是因为(1)这是异步加载另一个html文件而不是同步加载;(2)将我的模板包含在第二个HTML文件中的整个方法可能完全有缺陷

是否有将Backbone模板放在单独的HTML文件中的最佳做法? JST模板允许您将模板放在JavaScript文件中,这是最好的解决方案吗?

1 个答案:

答案 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);
     });