我有这段代码:
var Day = Backbone.Model.extend({
default: {
service: 'None',
concert: 'None',
bible: 'None',
social: 'None',
play: 'None'
}
}),
Day_view = Backbone.View.extend({
render: function(){
this.$el.html('Service:' + this.model.service + '<br />Concert:' + this.model.concert + '<br />Bible:' + this.model.bible + '<br />Social:' + this.model.social + '<br />Play:' + this.model.play);
return this;
}
}),
day_view = new Day_view({model: new Day({service: '10', concert: '11', bible: '11', social: '13', play: '14' })});
alert(day_view.render().$el.html());
我明白了:
服务:undefined音乐会:undefined圣经:undefined社交:undefined游戏:undefined
问题出在哪里? 感谢
答案 0 :(得分:1)
您在Backbone中访问属性的方式是get
:
this.model.get('service')
答案 1 :(得分:0)
此外,它会抛出未定义的错误,因为您没有定义视图的el
。您必须将DOM元素作为钩点传递到Backbone视图以插入html。
$(document).ready(function() {
var Day = Backbone.Model.extend({
default: {
service: 'None',
concert: 'None',
bible: 'None',
social: 'None',
play: 'None'
}
}),
Day_view = Backbone.View.extend({
el: 'body',
render: function(){
this.$el.html('Service:' + this.model.get('service') + '<br />Concert:' + this.model.get('concert') + '<br />Bible:' + this.model.get('bible') + '<br />Social:' + this.model.get('social') + '<br />Play:' + this.model.get('play'));
return this;
}
}),
day_view = new Day_view({model: new Day({service: '10', concert: '11', bible: '11', social: '13', play: '14' })});
alert(day_view.render().$el);
});