我的代碼:Backbone.js的錯誤 - 遺漏的類型錯誤:對象的翻譯:有沒有方法「設置」
我是新來Backbone.js的,並試圖建立與Backbone.js的和PHP應用程序。當我試圖打電話給在路由器add
,我得到錯誤:
Uncaught TypeError: Object [object Object] has no method 'set'.
請幫我找到我的錯誤。
謝謝。
// 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();
你傳遞一個集合的視圖,然後試圖把它當作模型的一個實例。不是。這是一個集合。 – asawyer
澄清:'Backbone.Collection'沒有metod'set'。 – jakee
感謝您的幫助 – Nag