【发布时间】:2018-10-12 06:05:07
【问题描述】:
我有一个角度应用程序,有两个页面,我在浏览器的每个选项卡中打开它们,如果我在第 1 页中执行某些方法,我希望第 2 页使用 rxjs 订阅数据更改并像实时一样更新第 2 页中的数据应用程序,有没有办法在没有 websocket 的情况下做到这一点?,我已经用订阅方法尝试过,但只有第 1 页听那个订阅。 这是第 1 页调用刷新方法来更新布尔值
this.service.doRefresh();
第 2 页收听
this.service.$refresh.subscribe(x=>{//boolean value changed by page 1(tab1)
if(x) {
console.log(x);
this.service.stopRefresh();
}
});
【问题讨论】:
-
没有每个标签都有自己的应用实例。
-
那么,在没有 websocket 的情况下,我可以做些什么来制作简单的刷新数据?
-
一种方法是从 tab1 更新 Firebase 实时数据库,然后 tab 2 将自动推送到更新。
-
一种认为不用请求后端就可以使用的方法是使用BroadcastChannel
标签: javascript angular typescript rxjs