Django 没有方法';toJSON';在我看来是错误的
我正在学习backbone.js,正在构建我的第一个多模块应用程序。我遇到了一个以前从未见过的错误,我想我知道原因,但我不知道如何修复它。我相信这是因为该模型实际上还不能用于视图,但我不明白为什么 错误是: 未捕获类型错误:对象函数(){return parent.apply(this,arguments);}没有方法“toJSON” 这是我视图中的第11行,msg.App.MessageListItemView 这是我的模型:Django 没有方法';toJSON';在我看来是错误的,django,backbone.js,backbone-views,backbone-routing,tastypie,Django,Backbone.js,Backbone Views,Backbone Routing,Tastypie,我正在学习backbone.js,正在构建我的第一个多模块应用程序。我遇到了一个以前从未见过的错误,我想我知道原因,但我不知道如何修复它。我相信这是因为该模型实际上还不能用于视图,但我不明白为什么 错误是: 未捕获类型错误:对象函数(){return parent.apply(this,arguments);}没有方法“toJSON” 这是我视图中的第11行,msg.App.MessageListItemView 这是我的模型: var msgApp = msgApp || {}; msgAp
var msgApp = msgApp || {};
msgApp.Message = Backbone.Model.extend();
这是我的收藏:
var msgApp = msgApp || {};
msgApp.MessageCollection = Backbone.Collection.extend({
model: msgApp.Message,
url: MESSAGES_API // Call to REST API with Tastypie
});
以下是我的列表视图:
var msgApp = msgApp || {};
msgApp.MessageListView = Backbone.View.extend({
el: '#gps-app',
initialize: function() {
this.collection = new msgApp.MessageCollection();
this.collection.fetch({reset: true});
this.render();
this.listenTo( this.collection, 'reset', this.render );
},
// render messages by rendering each message in it's collection
render: function() {
this.collection.each(function(item){
this.renderMessage(item);
}, this);
},
// render a message by creating a MessageView and appending the the element it renders to the messages element
renderMessage: function(item) {
var messageView = new msgApp.MessageListItemlView({
model: msgApp.Message
});
this.$el.append(messageView.render().el);
}
});
以下是我的项目视图:
var msgApp = msgApp || {};
msgApp.MessageListItemlView = Backbone.View.extend({
tagName: 'li',
className: 'message-list-item',
template: _.template($('#messageListItem').html()),
render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
这是我的路由器:
var AppRouter = Backbone.Router.extend({
routes: {
'messages/': 'allMessages',
},
allMessages:function() {
this.messageList = new msgApp.MessageCollection();
this.messageListView = new msgApp.MessageListView({model:this.messageList});
console.log('I got to messages!');
},
});
var app_router = new AppRouter;
我正在寻找任何和所有的建议。首先,我是一个noob,这是我的第一个多模块应用程序,所以我觉得管理范围有点困难
谢谢你抽出时间 尝试更改模型:msgApp.MessageListView中的msgApp.Message,如下所示:
// render a message by creating a MessageView and appending the the element it renders to the messages element
renderMessage: function(item) {
var messageView = new msgApp.MessageListItemlView({
model: item
});
this.$el.append(messageView.render().el);
}
视图中的模型参数不需要模型的类型,而是某些模型的实例。希望这有帮助。尝试更改模式:msgApp.Message中的msgApp.Message,如下所示:
// render a message by creating a MessageView and appending the the element it renders to the messages element
renderMessage: function(item) {
var messageView = new msgApp.MessageListItemlView({
model: item
});
this.$el.append(messageView.render().el);
}
视图中的模型参数不需要模型的类型,而是某些模型的实例。希望这有帮助。Argh!当然我一定是在胡闹的时候调整了。谢谢啊!当然我一定是在胡闹的时候调整了。谢谢