有角度 – 当对象从LocalStorage分配值时,如何在typescript对象中创建实例方法

前端之家收集整理的这篇文章主要介绍了有角度 – 当对象从LocalStorage分配值时,如何在typescript对象中创建实例方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是 Java开发人员,但我正在努力打字脚本.

这是我的用户对象:

export class User
{
    id: string;
    name: string;
    email?: string;
    unit: string;
    street: string;
    postalcode: string;
    paymentmode: string;

    public isComplete(): boolean
    {
        if(this.id != null && this.email != null && this.isAddress()){ return true}
        else return false;
    }

    public isAddress(): boolean
    {
        if(this.street != null && this.postalcode != null){ return true}
        else return false
    }


}

还有另外一个打字稿

var user = new User();
user = this.loginService.getLocalUser();

我假设localStorage被解析给用户

我无法以这种方式访问​​isComplete方法

user.isComplete()

相反,我需要使用它作为静态对象

User.isComplete

我的getLocaluser:

getLocalUser(): User {
        var user = new User();
        user = JSON.parse(localStorage.getItem('user'));

        return user;
    }

我该如何实现?

用这个
let user = new User().deserialize(this.loginService.getLocalUser());

现在在您的用户模型中添加一个deserialize()方法

deserialize(input: any): User {
    var self: any = this;
    for (let prop in input) {
            self[prop] = input[prop];
    }
    return self;
}

当您调用Web服务并使用parse()将其映射到User对象时,会发生什么?它的实例方法不会创建,因为它们不驻留在响应对象中什么是deserialize()创建的是User对象和副本的新副本价值从一个一个回应.

猜你在找的Angularjs相关文章