Mã của tôi:Backbone.js lỗi - lỗi chưa gặp: Object [đối tượng Object] không có phương pháp 'đặt'
Tôi mới vào Backbone.js và cố gắng xây dựng một ứng dụng với Backbone.js và PHP. Khi tôi đang cố gọi add
trong bộ định tuyến, tôi gặp lỗi:
Uncaught TypeError: Object [object Object] has no method 'set'.
Hãy giúp tôi tìm lỗi của mình.
Cảm ơn.
// Models
window.Users = Backbone.Model.extend({
urlRoot:"./bb-api/users",
defaults:{
"id":null,
"name":"",
"email":"",
"designation":""
}
});
window.UsersCollection = Backbone.Collection.extend({
model:Users,
url:"./bb-api/users"
});
// Views
window.AddUserView = Backbone.View.extend({
template:_.template($('#new-user-tpl').html()),
initialize:function(){
this.model.bind("click", this.render, this);
},
render:function(){
$(this.el).html(this.template(this.model.toJSON()));
return this;
},
events:{
"click .add":"saveUser"
},
saveUser:function(){ alert('saveUser');
this.model.set({
name:$("#name").val(),
email:$("#email").val(),
designation:$("#designation").val()
});
if(this.model.isNew()){
this.model.create(this.model);
}
return false;
}
});
// Router
var AppRouter = Backbone.Router.extend({
routes:{
"":"welcome",
"users":"list",
"users/:id":"userDetails",
"add":"addUser"
},
addUser:function(){
this.addUserModel = new UsersCollection();
this.addUserView = new AddUserView({model:this.addUserModel});
$('#content').html(this.addUserView.render().el);
}
});
var app = new AppRouter();
Backbone.history.start();
của bạn đi qua một bộ sưu tập để xem và sau đó cố gắng đối xử với nó như một ví dụ của mô hình. Nó không phải. Đó là một bộ sưu tập. – asawyer
Để làm rõ: 'Backbone.Collection' không có 'bộ dữ liệu'. – jakee
Cảm ơn sự giúp đỡ của bạn – Nag