2017-12-22 18 views
0

NGFacesを使用して、別のコンポーネントのコンテンツをAngularでリロードする方法を自分に尋ねています。バックグラウンドは以下の通りです。ポストリクエストが成功した後、getリクエストから取得した最新のデータを表示するためにビューをリロードします。 挿入ページ/コンポーネントが別のクラスにあります。角度の異なるコンポーネントのコンテンツをリフレッシュ

public create(name, description, archived, selectedParents): void { 
http.post.subscribe(() => { 
    this.messageService.success('Worked'); 
//here the other component should call the get method and refresh the page afterwards 
},() => { 
    this.messageService.error('Error'); 
});; 
} 

他のコンポーネントは、次のような方法があります。

http.get.subscribe(data => { 
    this.data = data; 
    }); 

私は$スコープ変数を使用することはできませんので、私はPrimeNGを使用しています。

httpこのコードスニペットでは、メソッドが簡略化されています。

ありがとうございました!

+0

angularまたはangularjs?それに応じてタグ付けしてください:) – Alex

+0

@ AJT_82 done :) –

+0

他のタグをチェックしてください。それについての情報を読んでください。 1つは間違っている – Kukeltje

答えて

1

あなたはこのように角度のOutputデコレータを使用することができます。

<app-insert-page (updateView)="otherComponentGetMethod()"></app-insert-page> 

詳細情報here

import { EventEmitter, Output } from '@angular/core'; 

@Output() updateView = new EventEmitter(); 

public create(name, description, archived, selectedParents): void { 
http.post.subscribe(() => { 
    this.messageService.success('Worked'); 
    //here the other component should call the get method and refresh the page afterwards 
    this.updateView.emit(); 
},() => { 
    this.messageService.error('Error'); 
});; 
} 

は最終的にあなたの "その他の成分" テンプレートで、あなたはこれを持っているでしょう。

+0

これは非常に良い作品!ありがとう。私の問題私はまだ別のファイルにすべて私のAPIコールを持っているということです。 OtherComponentGetMethodの呼び出しは、this.model.getall()のようなものになるまで実行されます。subscribe ...私はここで間違っていますか? –

+0

新しい質問を自由に作成してください。あなたはサービスに関する情報を探しているかもしれません。 – dexter