Это возможно при использовании EventEmitter.Сделайте это следующим образом.
В вашем родительском компоненте реализуйте метод.Назовите это, например, onDismissNotes()
.Этот метод изменяет this.MyNotesOpened
на false
всякий раз, когда он вызывается.
onDismissNotes(event: any){
this.MyNotesOpened = false;
}
Этот метод вызывается EventEmitter из дочернего компонента page-open-mynotes
.
import { Component, OnDestroy, OnInit, Input, Output, EventEmitter } from '@angular/core';
@Output() private dismissMe = new EventEmitter<string>();
private dismissMyNotes(): void {
// send a unique value, every time you fire the emitter.
// Otherwise it may happen, that the Emitter fires only once.
// And as the value doesn't matter in the parent component
// UTC-time is the best you can choose.
this.dismissMe.emit(new Date().getTime().toString());
}
Этот метод вызывается HTML-шаблоном вашего дочернего компонента
<button ion-button (click)="dismissMyNotes()">
<ion-icon name="close" class="text-white"></ion-icon>
</button>
И в HTML вашего родительского компонента вы делаете следующее
<page-open-mynotes *ngIf="MyNotesOpened == true" (dismissMe)="onDismissNotes($event)"></page-open-mynotes>
Теперь, когда вы нажимаете dismissMyNotes()
в дочернем компоненте, родительский компонент получает информацию и устанавливает this.MyNotesOpened
в false
.Это вызывает *ngIf
и ваш дочерний компонент удаляется.