【发布时间】:2018-07-21 15:51:03
【问题描述】:
我是 Angular 5 的新手,我已经完成了以下登录用户的方法。以下是我的功能。但我对 observable 感到困惑,因为所有文章都在说 subscribe 方法与 observable 和 Rx。
我的方法实现有什么问题吗?我没用过 Rxjs 库。
我的login.ts
import { Component } from '@angular/core';
import { HttpErrorResponse } from '@angular/common/http';
import { RestProvider } from '../../providers/rest/rest';
login(data) {
this.restProvider.loginToken(this.registerCredentials).subscribe((data : any)=>{
localStorage.setItem('userToken',data.access_token);
},
(err : HttpErrorResponse)=>{
this.isLoginError = true;
});
}
我的Rest.ts
import { HttpClient,HttpHeaders } from '@angular/common/http';
import { Injectable } from '@angular/core';
apiUrl='http://localhost:26264'
constructor(public http: HttpClient) {
console.log('Hello RestProvider Provider');
}
loginToken(data){
var details = this.jsonToURLEncoded({ grant_type:'password', username:data.email, password:data.password,});
var reqHeader = new HttpHeaders({ 'Content-Type': 'application/x-www-urlencoded','No-Auth':'True' });
const options = {
headers: reqHeader
}
console.log(details);
return this.http.post(this.apiUrl + '/token', details, options);
【问题讨论】: