Angular2에서 이미 구성 요소가 파괴되기 전에 알림을받을 수 있습니까? 즉 파괴 될 때입니다.Angular2는 onDestroy 전에보기를 분리합니까?
동적으로 뷰를로드하는 데 사용되는 ViewContainerRef를 하위 컨테이너에 보유하고있는 컨테이너 구성 요소가 있습니다. 컨테이너 구성 요소 자체가 파괴 된 경우 (부모 구성 요소의 * ngFor 지시문으로 인해) 현재 ViewContainerRef에로드 된 뷰를 분리하여 다른 컨테이너에 다시 첨부하려고합니다.
설명 : ngOnDestroy() 라이프 사이클 후크에서 ViewContainerRef가 이미 지워져 있으므로 모든보기가 삭제되고 더 이상 분리되지 않습니다. 은 반복되는 콜렉션이 변경 될 때 통지를 얻을
const LIFECYCLE_INTERFACES: Map<any, Type> = MapWrapper.createFromPairs([
[LifecycleHooks.OnInit, OnInit],
[LifecycleHooks.OnDestroy, OnDestroy],
[LifecycleHooks.DoCheck, DoCheck],
[LifecycleHooks.OnChanges, OnChanges],
[LifecycleHooks.AfterContentInit, AfterContentInit],
[LifecycleHooks.AfterContentChecked, AfterContentChecked],
[LifecycleHooks.AfterViewInit, AfterViewInit],
[LifecycleHooks.AfterViewChecked, AfterViewChecked],
]);
const LIFECYCLE_PROPS: Map<any, string> = MapWrapper.createFromPairs([
[LifecycleHooks.OnInit, 'ngOnInit'],
[LifecycleHooks.OnDestroy, 'ngOnDestroy'],
[LifecycleHooks.DoCheck, 'ngDoCheck'],
[LifecycleHooks.OnChanges, 'ngOnChanges'],
[LifecycleHooks.AfterContentInit, 'ngAfterContentInit'],
[LifecycleHooks.AfterContentChecked, 'ngAfterContentChecked'],
[LifecycleHooks.AfterViewInit, 'ngAfterViewInit'],
[LifecycleHooks.AfterViewChecked, 'ngAfterViewChecked'],
]);
라이프 사이클 후크가 없습니다. 커스텀'ngFor'를 만들 수 있습니다. 소스 코드는 복잡하지 않습니다. 이 커스텀'ngFor'에서 추가 된 컴포넌트에 대해 메소드를 호출하거나 파괴 될 것이라는 컴포넌트에 통지하는 이벤트를 낼 수 있습니다. –
멋진 생각. 나는 그것을 시도 할 것이다 – seraph