backbone.js 标签名声明后无效
backbone.js tag name has no effect after declared
我想我已经正确地声明了 tagName?并且它正确地放置在渲染方法下,但不知何故标签是 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)
tagName
是视图的 属性,而不是 - 不知何故 - 渲染功能。这应该会抛出一个语法错误。正确的结构是:
initialize: function(){
this.render();
},
tagName: 'h1',
render: function(){
...
我要离开原来的评论所以评论是有意义的,但事实证明 function(){ thing: "stuff"; }
实际上是有效的语法。不管怎样,在上下文和使用方式上,把它放在那里是不正确的。
我想我已经正确地声明了 tagName?并且它正确地放置在渲染方法下,但不知何故标签是 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)
tagName
是视图的 属性,而不是 - 不知何故 - 渲染功能。这应该会抛出一个语法错误。正确的结构是:
initialize: function(){
this.render();
},
tagName: 'h1',
render: function(){
...
我要离开原来的评论所以评论是有意义的,但事实证明 function(){ thing: "stuff"; }
实际上是有效的语法。不管怎样,在上下文和使用方式上,把它放在那里是不正确的。