1
我正在尝试在我的Angular应用程序中使用PrivatePub。我有一个聊天和消息由AngularJS管理,我的API背后是使用Rails运行的,在我的控制器中我使用助手来发布到频道,我的问题是在订阅的客户端。这是我尝试做:使用PrivatePub与Angular JS
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);
});
}]);
我试图用$应用和$看在我PrivatePub订阅,没有办法更新我的范围。我的PrivatePub函数应该在Angular之外,但它收到的数据应该被添加到$ scope。我不会尝试其他解决方案。
“它没有工作”没有太多解释。你是如何尝试使用'$ apply'以及发生了什么?抛出的错误? – charlietfl 2014-09-13 12:24:07
首先我得到了'错误:$ digest已经在进行中',我发现了一些答案,比如这个'if(!$ scope。$$ phase){// $ apply}',当我使用它的时候不推荐这样做我的代码根本没有执行。当我使用$ watch时,我的代码被执行,但范围没有更新。 – 2014-09-13 13:24:21
尝试使用'$ timeout',将等待摘要完成 – charlietfl 2014-09-13 13:26:25