Помогите получить данные пользователя из АПИ, присвоить переменным, которые использовать в любом из компонентов
UPD: Немного переделал скрипт, упростил. Старые наброски убрал под спойлер. Теперь работает, но в пределах одного компонента. А на остальные не распространяется. А я хотел, чтобы переменные {{ user?.login }} были видны глобально, во всех шаблонах
Предыдущиая версияАПИ:{"login": "test", "ban": 0}
Корневой
app.module.ts:...
import { UserService } from './shared/user.service';
...
providers: [ UserService ],
...
user.service.ts
Вот тут начинаются проблемы, мое понимание углового пока на уровне копипаста
import {Injectable} from '@angular/core';
import {HttpClient} from '@angular/common/http';
export class User {
login: string;
ban: number;
}
@Injectable()
export class UserService {
constructor(private http: HttpClient) { }
user: User
ngOnInit() {
this.http.get('/server/api/userService').subscribe((data: User) => {
this.user = data;
test = this.user['login']; // <- В этом моменте непонятности
}
);
}
}
Помогите хотя бы для начала записать в консоль логин пользователя
АПИ{"login": "test", "ban": 0}
app.component.tsimport { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
export class User {
login: string;
ban: number;
}
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
})
export class AppComponent {
user: User
constructor(private http: HttpClient) {}
ngOnInit() {
this.http.get('/server/api/userService').subscribe((data: User) => (this.user = data))
}
}