2016-05-21 2 views
3

Я пытаюсь создать очень простой чат с express.js, socket.io и angular. оно работает. единственная проблема, с которой я столкнулся, - это когда событие сообщения сокета запускается, оно не синхронизируется и не выводит его на страницу.

var socket = io.connect('http://localhost:8080'); 



angular.module('chat',[]).controller('chatController',['$scope','$apply',function($scope,$apply){ 
    chat = $scope; 
    chat.messages = []; 

    socket.on('messages',function(data){ 
     chat.$apply(function(){ 
      chat.messages.push(data); 
     }); 
    }); 
}]) 

Я знаю, что я должен использовать $ apply так или иначе, но это дает мне ошибку неизвестного провайдера. , что это правильный путь для реализации $apply

ответ

3

Нет необходимости передавать $ применять как зависимость,

Попробуйте

angular.module('chat',[]).controller('chatController',['$scope',function($scope){ 
    $scope.messages = []; 
    socket.on('messages',function(data){ 
     $scope.$apply(function(){ 
      $scope.messages.push(data); 
     }); 
    }); 
}]) 
+0

Это решающая ошибка. –

Смежные вопросы