嗨,我是使用require和下划线的骨干新手。想要渲染模板,请更正我。不知道我哪里出错了。
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 is is a function”
this.$el.html(_.template(mainParentTemplate));
答案 0 :(得分:0)
下划线的_.template
函数将返回可以评估渲染的函数。
您可以在渲染中执行以下操作:
var template = _.template(this.template);
this.$el.html(template(paramsForTemplate));
其中paramsForTemplate
是可选的,可用于将参数传递给模板。