2015-02-10 97 views
0

嗨,我是新来的主干使用要求和下划线。想要渲染模板请纠正我。不知道我要去哪里错了。模板不呈现下划线错误

mainParentTemplate.html

<div> 
     manojbojja 
</div> 

mainWidgetnew.js

define(['jquery','underscore','backbone', 
    'text!app/templates/main/mainParentTemplate.html', 
    'masonry', 
    'imagesLoaded', 
    'Aviary', 
    'date', 
    'datetimepicker', 
    'infinitescroll', 
    'bootstrap'], 
    function($, _, Backbone, 
      MainParentViewTemplate){ 

    var RssParentView = Backbone.View.extend({ 
     template: MainParentViewTemplate, 

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

     render: function() { 
      this.$el.html(_.template(this.template,{})); 
     } 
    }); 

    var FeedsWidget = function() { 

     this.render = function(el) { 
      this.view = new RssParentView({el: el}); 
     }; 

     return this; 
    } 

    return FeedsWidget; 

}); 

主要HTML页面脚本

<div id="main-widget"> 
</div> 

<script> 
    window.init = function(){ 
     require(['app/mainWidgetnew'], function(FeedsWidget){ 

      var mainWidgetnew= new FeedsWidget(); 
      mainWidgetnew.render("#main-widget"); 
     }); 
    }; 
</script> 

我得到uderscore错误 “undefined是不是一个函数”

this.$el.html(_.template(mainParentTemplate)); 

回答

0

下划线的_.template函数将返回可用于渲染评估的函数。

你可以按照你的做渲染:

var template = _.template(this.template); 
this.$el.html(template(paramsForTemplate)); 

哪里paramsForTemplate是可选的,可以用来传递参数模板。