Angularjs Can';t获取角度插座io以显示消息
我的app.js文件中有以下声明: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) {
(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){...});
我通过演示解决了这个问题:
整齐的格式,键入标题