Angular2 + TypeScript如何手动赋值

时间:2018-03-23 06:40:09

标签: typescript angular2-forms

这里我有一个班级

export class Authentication {
    AuthToken: string = "";
    AuthName: string = "";
}

这个班级我在我的服务中实施

    constructor(private _http: Http, private _auth: Authentication) { }
    getAuthToken(): Observable<Authentication[]> {

       return localStorage.setItem('_authToken', JSON.stringify({ this._auth.AuthName:'John', this._auth.AuthToken:'Abcd123'}))
}

这里我得到错误,因为无效是可分配的

2 个答案:

答案 0 :(得分:1)

localStorage.setItem返回void,您将返回该值。但是,getAuthToken被声明为返回Observable<Autentication[]>

您应该将方法签名更改为getAuthToken(): void,因为该方法实际上没有返回任何内容,它只是将值存储在localStorage中。然后,您应该删除return

答案 1 :(得分:1)

你试图返回一个设置localsorage项的方法,我想你需要AuthToken,在这种情况下做

getAuthToken(): any {
     return JSON.parse(localStorage.getItem('_authToken'));
}