2016-12-14 4 views
0

フリーマーカを使用している既存のアプリケーションに角度2のアプリケーションを統合したい。ルーターを使ってルートコンポーネントにコンポーネントを表示する

ルーターコンポーネントにコンポーネントの名前を付けることで、正しいコンポーネントを表示するためにルーターを使用したいと考えています。

<my-app displayComponent="myComponent">Loading...</my-app> 

私は、ルートコンポーネントでcomponentToDisplayプロパティを取得することができますが、私は、コンポーネントmyComponentというに移動しようとすると、それは動作しません。

export class AppComponent implements OnInit { 

    displayComponent: string; 

    constructor(private router: Router, private elm: ElementRef) { 
     this.displayComponent = elm.nativeElement.getAttribute('displayComponent'); 
    } 

    ngOnInit(): void { 
     this.router.navigate([this.displayComponent]); 
    } 
} 

おかげ

答えて

0

は、あなたのRoutesへのルート・ロジックを追加しましたか?

{ 
    path: 'component/path', 
    component: ComponentName 
} 
+0

はい、念のため、私は子コンポーネントの下に同じコンポーネントをナビゲート機能を呼び出すために試みたが、それは動作しますが。したがって、問題は、ナビゲーションコンポーネントがルートコンポーネントで機能しないことです。 –

0

今の回避策があります:

ngOnInit(): void { 
    setTimeout(() => this.router.navigate([this.displayComponent])); 
} 
関連する問題