В angular 4 после подписки на веб-сокет не удалось обновить элемент интерфейса с сообщением из сокета

Я делаю кодирование под углом 4. У меня есть веб-сокет, и я могу регистрировать сообщения, поступающие на веб-сокет, с console.log(), но когда я обновляю переменную с этим сообщением, то же самое не отражается на пользовательском интерфейсе. Пожалуйста, найдите код ниже.

constructor(private zone: NgZone, private cdRef: ChangeDetectorRef, private DataService1: DataService, private calcSevice: PostService, private datepipe: DatePipe, private elementRef: ElementRef) {
    this.ws = new SockJS(this.serverUrl);
    this.stompClient = Stomp.over(this.ws);
    let that = this;
    this.stompClient.connect({}, function (frame) {
      that.stompClient.subscribe("/updates/public", (message) => {
        //this.zone.run(() => {
        alert("got message");
        this.refreshErrorMessage = message.body;
        console.log("Message from socket is" + this.refreshErrorMessage);
      });

      //});
    });
}

Я думал, что это проблема с зоной, поэтому я поместил код для ngzone, как прокомментировано выше, в две строки, но затем он дал мне Невозможно прочитать свойство 'run' с неопределенной ошибкой. Пожалуйста помоги

0 ответов

Другие вопросы по тегам