Я пытаюсь использовать PrivatePub в своем приложении Angular. У меня есть чат, и сообщения управляются AngularJS, мой API работает с Rails, в моем контроллере я использую помощник для публикации на канале, моя проблема на стороне клиента с подпиской. Вот что я пытаюсь сделать:
chat.controller("MessageController", ['$scope','Message','Project', function($scope,Message,Project) {
//Fetch messages
Message.query(function(data) {
$scope.messages = data;
});
PrivatePub.subscribe(Project.channel, function(data, channel) {
$scope.messages.push(data.message);
});
}]);
Я пытался использовать $apply и $watch для подписки на PrivatePub, но никак не мог обновить область действия. Моя функция PrivatePub должна быть вне Angular, но данные, которые она получает, должны быть добавлены в $scope. Я не знаю, какое другое решение я мог бы попробовать.
it didn't work
не так много объяснений. Как вы пытались использовать$apply
и что получилось? вылетели ошибки? - person charlietfl   schedule 13.09.2014Error: $digest already in progress
, я нашел несколько ответов, таких как этотif(!$scope.$$phase) { //$apply }
, который, по-видимому, не рекомендуется, когда я его использую, мой код вообще не выполняется. Когда я использовал $watch, мой код выполняется, но область действия не обновляется. - person Thomas Quiroga   schedule 13.09.2014$timeout
, будет ждать завершения дайджеста - person charlietfl   schedule 13.09.2014