Backbone.js 为什么我的简单观点不起作用
我有这个JS代码:Backbone.js 为什么我的简单观点不起作用,backbone.js,Backbone.js,我有这个JS代码: $(function() { var LinkView = new Backbone.View.extend({ render: function() { this.$el.html(this.model.get('text')); } }); var Link = Backbone.Model.extend({ text: 'message', say: function() { console.lo
$(function() {
var LinkView = new Backbone.View.extend({
render: function() {
this.$el.html(this.model.get('text'));
}
});
var Link = Backbone.Model.extend({
text: 'message',
say: function() {
console.log(this.text);
}
});
var l = new Link();
l.say();
var v = new LinkView({model : l, el : 'body'});
v.render();
});
我正在等待在浏览器上获取“消息”,但获取错误
TypeError:r.apply不是控制台中的函数。为什么以及如何修复它?请粘贴此,新的
是考虑到的问题,也做了轻微的修改。现在可以用了
$(function() {
var Link = Backbone.Model.extend({
defaults : {
text: 'default message'
},
say: function() {
console.log(this.get('text'));
}
});
var LinkView = Backbone.View.extend({
render : function() {
this.$el.html(this.model.get('text'));
}
});
var l = new Link({text:'custom text message'});
l.say();
var v = new LinkView({model : l, el : 'body'});
v.render();
});
你真的有var-LinkView=new-Backbone.View.extend({…})而不是var-LinkView=Backbone.View.extend({…})
?另外,text
是Link
中的一个JavaScript属性,而不是主干属性,所以this.model.get('text')
不起作用。如果您想要一个可以获取的属性,您可能需要新链接({text:'message'})
。谢谢,这对我很有帮助。如我所见,我可以使用this.$el.html(this.model.text)
too您可以,但主干网不知道有关text
属性的任何信息,因此它更改时不会发生任何事件,它不会成为服务器保存和获取通信的一部分,…谢谢,我现在看到了