Backbone和dot.js

时间:2013-05-29 06:56:57

标签: backbone.js dot.js

我是骨干和dot.js的新手。我需要帮助将外部dot.js文件集成到我的骨干文件中。

我的骨干文件看起来像

 success :function() {

    SearchView = Backbone.View.extend({
      template: doT.template(dotView(id,fullurl)),

      initialize: function() {
            _.bindAll(this);
            this.render();
      },

      render: function() {      
        this.$el.html(this.template({data: data.entries}));
      }         
    });

    var search_view = new SearchView({ el: $("#search_container") });       

  }

在“dot.Template”中我在调用dot.js文件中的dotView。这种方法工作正常,但我想用ajax来实现它。

我的dot.js文件看起来像

function dotView(id,fullurl){
    temp = "{{~ it.data :value }}{{ if (check('{{=value.guid}}') == true) { }}<p>{{= value.title}}</p><p>{{= value.author}}</p><p>{{= value.description}}</p>";
    temp = temp + "{{~ it.data :value }}{{~ value.media$content :video}} {{ if (bitrate('{{= video.plfile$bitrate}}') == true) { }} {{ trigger_video(video.plfile$url); }} {{ } }} {{~}}{{~}}{{ } }}{{~}}";
    temp = temp + "<br/><div><b>See More:</b></div>{{~ it.data :value }}{{ if (check('{{=value.guid}}') != true) { }}{{~ value.media$thumbnails :photo}} {{ if (compare('{{=photo.plfile$width}}') == true) { }}<a href='details.html?id={{=value.guid}}&feed={{=fullurl}}'><img src='{{=photo.plfile$url}}' width='80' height='60'></img></a> {{ } }} {{~}} {{ } }}{{~}}";
    return temp;
}

请帮忙

1 个答案:

答案 0 :(得分:0)

建议使用

RequireJS,它有一个!text插件。让您将模板存储在文本文件中。而且,当你“需要”它时,requireJS会异步加载它。