2017-04-17 7 views
0

私はだから私はダッシュボード/ 1ページがある最初のリンク、すなわち上でクリックしたときに、私はAngular2:コンポーネントが同じであれば、ルータの出口はページを更新していない

{ path: 'dashboard/:id', component: DashboardComponent} 

次のようにルータ・コンセントを設定したアプリケーションを開発しています更新しました。 2番目のリンクダッシュボード/ 2をクリックすると、ページのURLは更新されますが、ビューは更新されません。しかし、リフレッシュすると更新されています。

マイダッシュボードコンポーネントビューは

<div #coloneanchor></div> 
    </div> 

<div class="col-md-6"> 
<div #coltwoanchor></div> 
</div> 

マイDashboardcomponent.ts

@ViewChild( 'coloneanchor'、{読み取り:ViewContainerRefを})は、以下の通りであるcoloneanchor:任意。 @ViewChild( 'coltwoanchor'、{read:ViewContainerRef})coltwoanchor:any;

this.route.params.subscribe(param => { 
     this.id = param["id"]; 
     this.userService.getGadgets(this.id).subscribe(gadgets => { 

switch(gadget) 

case gadget1: 
case gadget2: 

ここでは、私のビューに2つのアンカーポイントを作成しています。 IDを取得したら、APIに渡してガジェットとデータとその列の位置を取得します。ガジェットをループしてアンカーポイントに追加します。

+0

DashboardComponentの外観はどうですか? –

+0

IDを受け取り、グリッドとチャートを読み込むためのAPI呼び出しをいくつか行います。 DashboardComponentはReuseを実装しなければならないが、それはもう存在しないと思う。 https://github.com/angular/angular/issues/6910 – indra257

答えて

1

は、あなたのDashboardComponentに以下このことができます

constructor(private route: ActivatedRoute){} 
    ngOnInit(){ 
    this.route.params.subscribe(param => { 
     let id = param["id"]; 
     /// reload grid and charts...   
    }) 
    } 

希望をお試しください!

+0

これは機能します。ありがとう。 – indra257

+0

グリッドとグラフが前のビューに追加されています。これを追加する前に前のビューを削除する方法はありますか? – indra257

+0

私はコードが表示されるまで手助けすることはできません..どのようにグリッドを追加しています.. –

関連する問題