Показать сообщение отдельно
  #1 (permalink)  
Старый 25.12.2019, 10:35
Интересующийся
Отправить личное сообщение для Vadya Посмотреть профиль Найти все сообщения от Vadya
 
Регистрация: 15.04.2010
Сообщений: 24

A2: получить данные от апи и объявить переменные глобально
Помогите получить данные пользователя из АПИ, присвоить переменным, которые использовать в любом из компонентов

Делаю так:

АПИ:
{"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']; // <- В этом моменте непонятности
    }
    );
  }
}

Помогите хотя бы для начала записать в консоль логин пользователя, typescript пока вообще не понимаю

Правильно ли вообще я вижу алгоритм?
1) Сервисом загружаю данные с сервера, присваиваю переменным значения
2) Загружаю сервис в главный модуль
3) В любом из компонентов, без дополнительных инклудов могу использовать переменные {{user.login}}

Последний раз редактировалось Vadya, 25.12.2019 в 10:42.
Ответить с цитированием