我有一个解决方案可以正常工作。但它使用$ rootScope,如下所示:
angularApp.run(['$rootScope', function($rootScope){
$rootScope.socket = {};
$rootScope.socket.messages = [];
var socket = io.connect('/', {});
socket.on('messages', function (messages) {
if (! angular.equals($rootScope.socket.messages, messages)) {
$rootScope.socket.messages = messages;
$rootScope.$apply();
}
});
}]);
根据文档中的最后一段,$ rootScope是不好的做法,与全局变量相当:https://docs.angularjs.org/misc/faq
没有$ rootScope,最好的做法是什么?我尝试过将这项服务与$ watch结合使用,但无法让它发挥作用。
答案 0 :(得分:0)