在angular中设置socket.io时我做错了什么

时间:2016-10-30 23:29:35

标签: angularjs sockets socket.io

所以我试图将socket.io与我的控制器一起使用,但由于某些原因我无法设置它我尝试了很多不同的东西,但似乎无法找到那个最佳点。继承人我的设置:

       var main = angular.module("main", []);

  main.factory('socket', function ($rootScope) {
         var socket = io.connect();
           return {
    on: function (eventName, callback) {
        socket.on(eventName, function () {
            var args = arguments;
            $rootScope.$apply(function () {
                callback.apply(socket, args);
            });
        });
    },
    emit: function (eventName, data, callback) {
        socket.emit(eventName, data, function () {
            var args = arguments;
            $rootScope.$apply(function () {
                if (callback) {
                    callback.apply(socket, args);
                }
            });
        })
    }
};
});

    main.controller('Triv', ['$scope', 'socket','$http','$interval',
   '$timeout', function ($scope, $http,$interval,socket, $timeout) {

   ......   })]);

1 个答案:

答案 0 :(得分:0)

我在gulp管理的bower安装socket.io时遇到了类似的问题。 我所做的是在脚本源目录中创建了一个符号链接

socket.io.js -> ../../bower_components/socket.io-client/socket.io.js

强制在脚本列表末尾包含socket.io.js