我是Backbone的新手并且在渲染模板方面遇到了困难 模板本身就像这样不引人注目:
<script id="messageTemplate" type="text/template">
Message: <%= content %>
</script>
Backbone视图&amp;模特看起来像这样:
var Message = Backbone.Model.extend({
defaults: {
content: 'Default message'
}
});
var MessageView = Backbone.View.extend({
tagName: 'p',
template: _.template($('#messageTemplate').html()),
initialize: function() {
this.render();
},
render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
var msg = new Message();
var msgView = new MessageView({model: msg});
我想没什么特别的 - 只是一个简单的模型和使用模板的视图,用msg
中的内容替换占位符。
使用personView.el
在控制台中检查时,我会看到正确的HTML字符串,但应该如何将其呈现给DOM?
当然我已经阅读了Backbone和Underscore文档,但我对此没有太多了解。
答案 0 :(得分:2)
骨干视图包含对el的引用,{{3}}可能是也可能不是页面DOM的一部分。如果不是那么你可以像其他任何元素一样附加它。
例如
var msg = new Message();
var msgView = new MessageView({model: msg});
$('#someParentElement').append(msgView.el);