Javascript не обновляет DOM до взаимодействия с пользователем

0

Я добавляю функцию чата на свой сайт, используя angularJS и signalR. Сейчас это очень просто. Мой угловой контроллер поддерживает множество журналов чата и распечатывает их с помощью:

         <div ng-repeat="log in vm.logs">{{log.sender}}: {{log.msg}}</div>

Все проводки работают, и я проверил через console.log(), что сообщения принимаются мгновенно. Тем не менее, кажется, что DOM не обновляется, пока я не взаимодействую со страницей (например, зависает над другим компонентом, к которому привязано угловое действие). Я не уверен, что это проблема с угловым или просто javascript. Есть идеи?

Я видел это на сайтах, подобных Facebook, и я думал, что это по дизайну, но похоже, что это браузер /javascript.

  • 0
    Как вы добавляете элемент к вашему массиву в вашем контроллере? Вы написали vm.logs в своем коде выше, вы уверены, что это хорошее имя контроллера?
  • 4
    Вы вызывали $scope.$apply() Apply $scope.$apply() для обратного вызова от signalR?
Теги:
signalr

1 ответ

0

Используйте $ timeout и оберните массив видимости vm.logs функцией. $ timeout автоматически вызывает цикл вычисления углов, и ваш dom должен начинать обновляться.

  • 0
    Да, уже используя $ timeout. Извините, должен был упомянуть об этом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню