Передать значения в родительский компонент с помощью eventemitter - PullRequest
0 голосов
/ 26 ноября 2018

Как я могу отправить значение mytoki из моего модального компонента его родителю?

Я не уверен, стоит ли мне создавать другой EventEmitter или сервис.Какие-либо предложения ?

@Component({
  selector: 'app-modal',
  templateUrl: './modal.component.html',
  styleUrls: ['./modal.component.css']
})
export class ModalComponent implements OnInit {

  @Output()
  toHide = new EventEmitter();

  private usrname;
  private pswd;
  private visible: string;
  private mytoki;

  constructor(private loginservice: LoginService) { }

  ngOnInit() {
  }

  connect(usrname, pswd) {
    this.loginservice.getUserLogin(this.usrname, this.pswd).subscribe(
      response => {
        this.mytoki = response.headers.get('Authorization');
        sessionStorage.setItem('token', this.mytoki);
        console.log('Connected');
      }, err => {
        // TODO
        // login errors
        // put token into nav component
      }, () => {
          this.visible = 'hide';
          this.toHide.emit(this.visible);
          this.usrname = '';
          this.pswd = '';
      }
    );
  }
}

1 Ответ

0 голосов
/ 26 ноября 2018

Объявите ваш @Output() myTokiDetails; на модальном компоненте

Затем, например, после того, как вы установили свой sessionStorage, выполните this.myTokiDetails.emit(this.mytoki), это будет транслировать событие и при условии, что вы использовали селектор, чтобы добавить это к родителю, вы бына этот модальный селектор: <app-modal (myTokiDetails)="parentComponentFunction($event)"></app-modal>

...