我问自己如何使用NGFaces重新加载Angular中不同Component的内容。背景如下:在成功发布请求后,我想重新加载视图以显示从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,所以我不能使用$ scope变量。
http在此代码段中简化了方法。
感谢您的帮助!
答案 0 :(得分:1)
您可以像这样使用Angular的Output
装饰器:
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');
});;
}
最后在你的"其他组件"模板,你会有这个:
<app-insert-page (updateView)="otherComponentGetMethod()"></app-insert-page>
更多信息here。