6
是否可以在ngOnDestroy上發射自定義事件?我試過了,但它似乎不起作用......我基本上需要知道何時從UI中刪除指令。Angular2 ngOnDestroy,發射事件
@Output() rowInit = new EventEmitter();
@Output() rowDestroy = new EventEmitter();
ngAfterViewInit() {
this.rowInit.emit(this);
}
ngOnDestroy() {
console.log("I get called, but not emit :(, ngAfterViewInit works :)");
this.rowDestroy.emit(this);
}
非常感謝蒂埃裏!我還有一個問題:我創建了一個事件發射器,如下所示:'tableViewOnInitEvent = new EventEmitter();'等。是否可以將這些發射器設置爲「僅訂閱/只讀」?我不想直接通過服務調用發射器,但我想從服務內部的一個函數調用發射器,如下所示:(Inside Service):'public tableViewOnInit(tableView){this.tableViewOnInitEvent.next(){\t \t \t this.tableViewOnInitEvent.next ({0122}}}}}}})}} ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; \t}'謝謝:) –
服務是一個很好的解決方案。如果您需要專門的解決方案,您可以手動訂閱(和取消訂閱) 請參閱http://stackoverflow.com/questions/37609758/angular2-component-impossible-to-emit-an-output-eventemitter-inside-ngondestro?lq = 1獲取更多詳細信息解釋 –
通知服務是一種全局總線,您仍然需要一種方法來通過切換到此方法僅篩選您關心的元素,其中「EventEmitter」可以將其事件包含到層次結構中 –