扩展解析.用户转换为自定义用户类

Extending Parse.User to a custom user class

本文关键字:用户 自定义 转换 扩展      更新时间:2023-09-26

我正在使用Parse的JavaScript SDK。我想有我的自定义用户类它有一些实例方法,一些类方法封装了用户的创建。到目前为止,我的代码看起来像这样:

var CustomUser = Parse.User.extend({
    foo: function () {
    },
    bar: function () {
    }
}, {
    create: function (username, password, email) {
        var user = new Parse.User();
        user.setUsername(username);
        user.setPassword(password)
        user.setEmail(email);
        user.save();
        return user;
    }
});

我希望能够这样使用它:

var someUser = BlogUser.create('foo', 'bar', 'foo@bar.com');
someUser.foo();

显然,这不会工作,因为我返回Parse.User()类的实例,它没有我的实例方法foo()bar()附加到它的原型。我试着在this上调用setUsername(), setPassword()等,但这不起作用(相当明显,因为JavaScript不知道我的类实际上继承了Parse.User)。显然Parse.User.extend没有适当的记录,所以我几乎是在试验。所以我的问题是,实现这一切的正确方法是什么?

似乎在JavaScript中,我可以在定义对象时实例化它,因此解决方案是在create函数(而不是Parse.User)中实例化CustomUser,对其进行操作,然后返回该实例。这样,我扩展了Parse.User对象,同时拥有了自定义逻辑。