我有一个用户模型:
var UserModel = Backbone.Model.extend({
defaults: {
handle: '',
email: '',
uuid: '',
userpic: '',
tokenlogin: ''
}
});
我也有一个名为 UserSignIn 的集合,虽然我不知道为什么:
var UserSignIn = Backbone.Collection.extend({ model: UserModel });
在我的 SignInView 视图中,我有以下功能......
signIn: function(e) {
e.preventDefault();
this.collection.fetch({
type: 'POST',
url: 'http://localhost/app/api/User.php',
dataType: "json",
data: $.param({
req: "REQUSERSIGNIN",
platform: "WEB",
useremail: $('#userSignIn #userEmail').val(),
userpass: $('#userSignIn #userPassword').val()
}),
success: function(data) {
// In here, I'd like to create an
// instance of the model which I'd
// like to pass around my app.
var user = new UserModel({
handle: data.HANDLE,
email: data.EMAIL,
uuid: data.UUIDUSER,
userpic: data.USERPIC,
tokenlogin: data.TOKENLOGIN
});
}
});
}
如您所见,我要做的就是在 BackBone.fetch() 函数成功时创建一个用户实例。
我想了解如何在我的应用程序周围传递这个新的“用户”UserModel() 实例。当我尝试console.log(user)
得到“ReferenceError:用户未定义”时,显然我只是在 fetch 函数的成功回调中创建了它。
有人可以向我解释为什么吗?