使用WebSocket将JSON推送到Angular客户端



我有一个解决方案,可以很好地做到这一点。但是它像这样使用$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结合使用,但无法正常工作。

你应该创建一个SocketService,并通过依赖注入提供给你的控制器。

依赖注入

理解依赖注入

相关内容

  • 没有找到相关文章

最新更新