我有一个与我的服务器通信的数据服务。
String
我以这种方式在我的组件中使用它。
export class DataService {
constructor(private http: Http) { }
getUsers():Observable<Users>{
return this.http.get(myurl).map(this.extractData);
}
extractData(res:Response){
return res.json();
}
}
变量ngOnInit() {
this.getUsers();
}
getUsers():void{
this.dataService.getUsers().subscribe(response=>{
this.users = response;
} );
}
是表的输入。
当我在看到空表之前启动组件时,之后,当加载数据时,我看到包含所有用户的表。如何在数据准备就绪时查看组件?
当我在服务器上插入新用户时,我在桌面上看不到它,我需要刷新页面。 在插入之后,如何在桌面上显示(实时)新用户而不刷新页面?
谢谢
答案 0 :(得分:0)
如何在数据准备就绪时查看组件?
您需要将此数据检索逻辑移动到解析器中,组件应从中获取数据。
如何在插入后显示(实时)表格中的新数据而不刷新页面?
您应该在组件内插入数据检索逻辑,并更新对用户&#39;的引用。变量与新数据。
答案 1 :(得分:0)
您始终可以将this.users
初始化为null。然后在你的标记中你可以做这样的事情:
<div *ngIf="users">
<!-- Your content here -->
</div>
当用户变为非空时,Angular将开始呈现标有div
的{{1}}。这是有效的,因为在JS *ngIf
中是假的。如果这看起来很傻,你可以在订阅中设置一个布尔标志,你在null
块(*ngIf
)中引用。