Angular ng2-signalr: члены компонента не обновляются с помощью обратных вызовов signalr при переходе на новый маршрут и возвращении - PullRequest
0 голосов
/ 19 июня 2020

Вот вопрос: у меня есть компонент angular, который использует класс SignalR, который является частью библиотеки ng2-signalr. Я использую приведенный ниже код для создания соединения и прослушивания событий сервера:

import {  SignalR, ISignalRConnection } from 'ng2-signalr';
export class SampleComponent implements OnInit {
listener :any;
testIndex =1;
message: string;
constructor(private _signalR: SignalR) {}

ngOnInit() {

    this._signalR.connect().then((c:ISignalRConnection) => {
    debugger

    this.listener = c.listenFor<any>("broadcastMessage");
    this.listener.subscribe((data: any) => {
    this.message = data;
    this.testIndex ++;
    console.log(this.message);
    console.log(this.testIndex);

});
}


}

если я просто перейду к компонентному маршруту или просто нажму cntrl + F5, все работает нормально, this.message and this.testIndex обновится. вот проблема: если я перейду к новому маршруту и ​​вернусь к маршруту SampleComponent без обновления страницы, this.message и this.testIndex будут иметь правильные значения внутри обратного вызова, например, this.testIndex увеличивается каждый раз при получении сообщение с сервера, но message и testIndex в SampleComponent имеют начальные значения, это означает, что message не определено, а testIndex значение равно 1 и больше никогда не обновляется.

сталкивался ли кто-нибудь с та же проблема, и он / она может мне с этим помочь?

...