Как общаться от дочерней до родительской страницы с помощью EventEmitters - PullRequest
0 голосов
/ 06 июля 2018

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

parent.html: -

<ion-header>

  <ion-navbar>
    <button menuToggle left>
      <ion-icon name="menu"></ion-icon>
    </button>
    <ion-title>{{title}}</ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>
</ion-content>

parnet.ts:

export class Parent{
  title:string;
  getNotification(evt) {
    this.title = ""+evt;
   }
}

child.html:

<ion-content padding>
    <h2>Grocery Page</h2>
    <button ion-button (click)="sendNotification()" color="secondary" full>Notify my parent!</button>
</ion-content>

child.ts:

export class Child{

  @Output() notifyParent: EventEmitter<any> = new EventEmitter();
  sendNotification() {
    this.notifyParent.emit('Parent Page');
   }
}

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

В шаблоне вашего родительского компонента вы можете установить источник событий для вашего ребенка следующим образом:

<child (notifyParent) = "getNotification($event)"></child>

ChildComponent:

export class Child{

   @Output() notifyParent: EventEmitter<string> = new EventEmitter();

   sendNotification() {
     this.notifyParent.emit('Parent Page');
   }
}

Родительский компонент:

export class Parent{
  title:string;
  getNotification(evt) {
     this.title = evt;
  }
}
0 голосов
/ 06 июля 2018

Реализация вашего дочернего компонента правильная, теперь вам просто нужно прослушать событие notifyParent в parent и изменить значение на полученное, например:

<child-component (notifyParent)="getNotification($event)"></child-component>

А вот простой ДЕМО .

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