如果使用SSE在多个选项卡中同时打开,则父子数据不会更新

时间:2018-08-25 14:38:15

标签: angular6

我有一个要求,用户将在多个选项卡中访问该应用程序。根据他的要求,如果他在多个标签页中打开同一页面,则他在单个标签页上所做的任何修改都应反映在所有标签页中,而无需重新加载页面。

下面是我的附加代码,其中附加了SSE事件。

parentItems
    ngOnInit() {
            this.user = this.userservice.getComplexObject();

            const fx = new EventSource(AppConfiguration.EventSource + this.user.id);
            fx.onmessage = (event) => {

              this.updateArray()
            };

    <app-child-component [setItems]="parentItems" [myitems]="parentItems"></app-child-component>

updateArray函数将更新数组。问题是它发生在单页上。我正在使用服务器端事件,以便同一页面的更改会反映在所有打开的选项卡上

这是父组件,它使用输入将Array对象发送给子组件。

export class ChildComponent {
  items = new Array<number>();
  @Input() set setItems(value: Array<number>) { this.items = value; }
  @Input() myitems: Array<number>;
}

0 个答案:

没有答案