@laravel_creative_3103

Как можно убрать тип Unknown?

На данный момент смотрю туторилы по ютубу, в котором мы в ангуляре на что- то подписываемся.
На видео, то что делает, работает корректно.

Но, когда я решил его использовать на себе, он выводит по сути правильную ошибку, но не знаю как ее подправить.
this.alertSubscription = this.alertService.alert$.subscribe((alert) => {
      this.text = alert.text; //"alert" относится к типу unknown
      this.text = alert.type; //"alert" относится к типу unknown
    });


Но, когда я методе subscribe, который принимает в себя параметр пишу alert: any, функционал не работает.

Чтоб было ясно, вставляю весь код снизу.

export class AlertService {
  public alert$ = new Subject();

  success(text: string) {
    const success: IAlert = {
      type: 'success',
      text: text,
    };

    this.alert$.next(success);
}


export class AlertComponent implements OnInit, OnDestroy {

  public text: string;

  public type = 'success';

  alertSubscription: Subscription;

  constructor(private alertService: AlertService) {}
  ngOnInit(): void {
    this.alertSubscription = this.alertService.alert$.subscribe((alert) => {
      this.text = alert.text // "alert" относится к типу unknown.
      this.text = alert.type //  "alert" относится к типу unknown.
    });

    const timeOut = setTimeout(() => {
      clearTimeout(timeOut);
      this.text = '';
    }, 1000);
  }
}
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 1
Укажи конкретный тип в public alert$ = new Subject()
Например public alert$ = new Subject<IAlert>()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы