Ich habe eine parent
und eine child
Komponente. Die Komponente parent
ist eigentlich eine Seite. Die child
Komponente möchte einige saubere Arbeit im Zusammenhang mit der Datenbank tun.Wie die saubere Arbeit des Kindes in der Elternkomponente
Wenn ich die parent
Seite/Komponente schließe. Was ich vermute ist
child ngOnDestroy
->child cleanWork
->parent ngOnDestroy
.
Die tatsächliche ist
child ngOnDestroy
->parent ngOnDestroy
.
// Mutter
@Component({
selector: 'parent',
template: `
<child
(cleanWork)="onCleanWork()">
</child>
`
})
export class ParentComponent {
ngOnDestroy() {
console.log('parent ngOnDestroy');
}
onCleanWork() {
console.log('child cleanWork');
// dispatch an action, or do something with database
}
}
// Kind
@Component({
selector: 'child',
template: `Hi`
})
export class ChildComponent {
@Output() cleanWork = new EventEmitter();
ngOnDestroy() {
console.log('child ngOnDestroy');
this.cleanWork.emit(null);
}
}
Der Grund, warum ich im Inneren des Kindes die saubere Arbeit mache, ist, weil ich das Kind sein wollen stumm . Gibt es einen alternativen/besseren Weg?
Dank
Danke, aber auf diese Weise sind die Datenbank bezogenen Codes noch in Kind-Komponente, richtig? –