Angular RC6 - 避免已创建视图中的refreshind数据(避免视图闪烁)

时间:2016-09-06 14:16:16

标签: angular angular2-services

我有一个TodoService,它将数据流作为Observable<Todo>返回。在TodoService内部,我使用http。

从其他API读取数据

我需要在2个组件Page1ComponentPage2Component中使用此服务。因此,我在构造函数中注入服务。

这两个组件显示在使用<router-outlet>的应用程序菜单中的单独页面上。每个组件都显示待办事项列表,但不同之处。

首先我使用了ngOnInit,但每次显示一个组件时都会调用它。它会导致Todo s的视图闪烁。我想让这个视图稳固,只有当流中的数据发生变化时才会改变。

当您在页面DashboardHeroes之间切换时,您可以在Tour of heroes demo中观察到闪烁的相同效果。

1 个答案:

答案 0 :(得分:0)

检查您是否正在注入同一服务的2个实例。

如果是这样,您可能需要在父组件中注入服务,以便在两个组件之间共享它。

PS。作为内存中的缓存的共享变量应该保存在服务中。然后,如果已经通过API更新了缓存,则每个组件都可以加载缓存。