Как передать данные абоненту в Angular - PullRequest
1 голос
/ 10 января 2020

У меня есть служба ниже с подпиской " Пользователь ".

 public getEmployees(): Observable<User> {
    const url = `${this.baseUrl}/employee`;
    return this.http.get<User>(url);
  }

Мой вопрос: как я могу вызвать getEmployees с данными пользователя. Я пытаюсь с приведенным ниже кодом, но он получает ошибку?

const _user: User = {
      userId: "30294
}

 this.userAccountService.getEmployees().subscribe((userprofile: _user) => {
      console.log(userprofile.firstName);
    });

ошибка: _user ссылается на значение, но здесь используется тип

Ответы [ 3 ]

1 голос
/ 10 января 2020

Вы используете _user как тип в userprofile: _user

Исправить так:

const _user: User = {
      userId: "30294
}
 this.userAccountService.getEmployees().subscribe((userprofile: User) => {
      console.log(userprofile.firstName);
    });
0 голосов
/ 10 января 2020

Для полного обратного вызова метода подписки необходимо передать переменную с типом. Но вместо типа вы передали саму переменную.

Вот почему вы получаете ошибку.

_user refer to value but is being used a type here

Поэтому замените это: -

userprofile: _user

на это: -

userprofile: User

А ты хорош go.

0 голосов
/ 10 января 2020

Измените _user на User.

. Вы возвращаете наблюдаемое значение User, но в методе принимаете тип данных az _user.

 this.userAccountService.getEmployees().subscribe((userprofile: User) => {
      console.log(userprofile.firstName);
    });
...