我认为我已正确声明了tagName?并且它在render方法下正确放置,但不知何故标签是div而不是h1。
https://jsfiddle.net/b01vtfnh/
var Person = Backbone.Model.extend({
defaults:{
name:"",
age:20,
job:'jobless'
}
});
var person1 = new Person({
name:"Sony",
age: 30,
job: "Teacher"
});
var PersonView = Backbone.View.extend({
initialize: function(){
this.render();
},
render: function(){
tagName:'h1'; //this line won't work
var li_person = this.model.get('name') + ', ' + this.model.get('age') +
' (' + this.model.get('job') + ')';
this.$el.html(li_person)
return this;
}
});
var person_view = new PersonView({model:person1});
$('body').html(person_view.el)
答案 0 :(得分:3)
tagName
是视图的属性,而不是 - 某种方式 - 是渲染函数的属性。这应该抛出写入的语法错误。正确的结构将是:
initialize: function(){
this.render();
},
tagName: 'h1',
render: function(){
...
我要离开原文,所以评论有意义,但事实证明function(){ thing: "stuff"; }
实际上是有效的语法。无论如何,在上下文和它的使用方式中,将它定位在那里是不正确的。