Не могу передать информацию от дочернего компонента к родительскому компоненту - PullRequest
0 голосов
/ 03 июня 2019

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

Я не уверен, могу ли я сказать, что это отец-детские отношения, так как я действительно не использую дочерний декоратор в своем компоненте приложения, вместо этого я использую выход маршрутизатора, но я так, как я это делаю, должен работать так.

На моем appComponent.html у меня есть

<router-outlet (childEvent)="message=$event"></router-outlet>
    Test: {{message}}

На моем AppComponent у меня есть

public message;

На моем loginComponent у меня есть

@Output() public childEvent = new EventEmitter();
.
.
.

  loginUser(): void {
    this.loginService.loginUser(this.userNameLogin, this.userPasswordLogin).subscribe(
      data => {
        if (data.statusCode === 202) {
          .
          .
          .
          this.childEvent.emit('true');
        }
      },
      error => {
        .
        .
        .
      }
    );
  }

Я думаю, вот и весь код, который имеет значение для этой темы, и яуже пытался изменить код с

(childEvent)="message=$event"

на

(childEvent)="message($event)"

, который также не работал

Что происходит, когда {{message}} не 'ничего не показывать, и он должен показывать true после теста:

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

Извините, если яЯ сделал это несколько грязно, но это лучший способ, которым я могу объяснить.Заранее благодарю всех, кто хочет помочь!

1 Ответ

0 голосов
/ 03 июня 2019
  • сначала ваш компонент приложения не является отцом, чем логин
  • второй маршрутизатор-розетка, вызовите модуль маршрутизатора и укажите угол куда

, если вы добавите

<login-componet (childEvent)="message=$event"></login-componet>

в компоненте приложения это работает, но это плохая практика

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...