Angularjs Can';t获取角度插座io以显示消息

Angularjs Can';t获取角度插座io以显示消息,angularjs,socket.io,Angularjs,Socket.io,我的app.js文件中有以下声明: (function () { angular.module('medmart', [ 'oc.lazyLoad', 'ui.bootstrap', 'ngFileUpload', 'ui.validate', 'btford.socket-io', ]). factory('mySocket', function (socketFactory) {

我的app.js文件中有以下声明:

(function () {
    angular.module('medmart', [
        'oc.lazyLoad',
        'ui.bootstrap', 
        'ngFileUpload',
        'ui.validate',
        'btford.socket-io',
    ]).
    factory('mySocket', function (socketFactory) {
        var mySocket = socketFactory({
            prefix: 'medmart~',
            ioSocket: io.connect('https://:::8443'),
        });
        mySocket.forward('error');
        return mySocket;
    });
})();
在我的index.html中,我有以下语句:


在controllers.js中,我有以下内容:

mySocket.forward('medmart~procedure', $scope);

$scope.user = {
    fname: '',
    lname: '',
    pid: ''
};
$scope.setCredentials = function() {    
    $scope.user.fname   = $rootScope.user.fname;
    $scope.user.lname   = $rootScope.user.lname;
    $scope.user.pid     = $rootScope.user.pid;
};
$scope.setCredentials();

mySocket.on('connect', function () {

    $scope.$on('socket:error', function (ev, data) {
        console.log("ERROR: " + data)
    });
    $scope.$on('medmart~procedure', function(event, data) {

        if (!data.payload) {
            return;
        } 
        $scope.$apply(function() {

        });
    });
});
在我的routs.js(Node.js)中,我发送以下内容:
socket.emit('medmart~procedure',procedure)

但是,我无法在控制器中接收任何消息。有人能告诉我我做错了什么吗


提前谢谢

我终于找到了问题所在。而不是

$scope.$on('procedure:new', function(data){...});
应该是:

mySocket.on('procedure:new', function(data){...});
我通过演示解决了这个问题:

整齐的格式,键入标题