0

angular-websocket을 사용하여 백엔드에 연결하는 공장이 있고 내 컨트롤러에서 정보를 전달해야 해당 정보를 보내고 배열로 전달해야합니다. 공장 등입니다 : 컨트롤러에서 팩토리로 오류 배열

.controller("registerController", function($scope,$stateParams,$ionicPopup,$state,registerService) { 
    $scope.registerService = registerService; 
    $scope.signUp = function() { 
     registerBox = []; 
     registerBox.push('Register') 
     registerService.sendId(registerBox); 
    }; 
}) 

그러나 나는 오류 :

.factory('registerService', function($websocket) { 
    var dataStream = $websocket('ws://localhost:3000'); //websocket 
    dataStream.onOpen(function() { 
    console.log('in'); 
    this.sendId = function(data) { 
    console.log('data: '+data); 
    }; 
    }) 
    dataStream.send(function(message) { 
    //send info to backend 
    }); 
}) 

그리고 컨트롤러와 같은 registerService.sendId는 함수가 아닙니다. 문제는 무엇입니까?

+1

서비스에 반환하지 않았습니다. –

답변

0
 .factory('registerService', function($websocket) { 
      var dataStream = $websocket('ws://localhost:3000'), 
       _this = this; 

      dataStream.onOpen(function() { 
      console.log('in'); 
      _this.sendId = function(data) { 
       console.log('data: '+data); 
      }; 
      }) 
      dataStream.send(function(message) { 
      //send info to backend 
      }); 

     return _this; 
    }); 
관련 문제