2017-02-22 8 views
0

私のページでng2-toastrを使用していますが、ページ内に入れ子コンポーネントがある場合、既存のng2-toastr(ToastManager )スコープが破棄され、トーストが機能しません。私は私のページに角2:入れ子になっているコンポーネントが既存のng2-toastrスコープを破棄しています

<es-app></es-app> 

toastrすなわち、他のコンポーネントをロードしていたときに

this.toastr.warning('Its Warning','Alert'); 

細かい作業を、その、私のhtmlで呼び出す私の方法では

constructor(public toastr: ToastsManager,public vcr: ViewContainerRef) { 
     this.toastr.setRootViewContainerRef(vcr); 
} 

ではありません作業中(エラーなし)

時々私が得た:

ngAfterViewInit容器内部を初期化することによって

Attempt to use a destroyed view: detectChanges Error: Attempt to use a destroyed view: detectChanges at ViewDestroyedError

答えて

0

ngAfterViewInit(){ 
this.toastr.setRootViewContainerRef(this.vcr); 
} 

ネストされたコンポーネントをロードし、ページインスタンスを破壊しているので

にcontsructor場所の

this.toastr.setRootViewContainerRef(vcr); 

代わりに問題を解決し、だから我々はロードする必要がありますすべてのコンポーネントがロードされ、ページライフサイクルフックごとにngAfterViewInitで発生した後

関連する問題