2015-05-05 88 views
1

我是AngularJs和nodejs的新手,我有一個簡單的聊天應用程序,角色作爲客戶端和socketio作爲服務器端。我得到了加載角頁面時出現錯誤

Error: [$injector:unpr] Unknown provider: socketProvider <- socket <- LogCtrl 

我的客戶端

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-route.min.js"></script> 
<script src="http://localhost:1337/socket.io/socket.io.js"></script> 

<script type="application/javascript"> 
    socket = io.connect('http://localhost:1337/'); 
    angular.module('Log',['ngRoute']) 

      .controller('LogCtrl',['$scope','socket','$location', function($scope,socket,$location){ 

       console.log('ok baby !!'); 

       $scope.addUser = function(){ 
        socket.emit('init',$scope.user); 
        $location.path("/view/index.html"); 
       }; 

      }]); 
</script> 

<body ng-app = "Log" > 
<div class=" main" ng-controller = "LogCtrl" style = "width: 300px; "> 
<fieldset> 
    <form ng-submit = "addUser()"> 
     <h2 >Hello!!</h2> 
     <input ng-model = "user" required style = "width: 200px; " placeholder = "Nhập tên của bạn" > 
     <input type = "submit" value = "OK"> 
    </form> 
</fieldset> 
</div> 

請幫我


我嘗試重定向到指數有什麼錯我的客戶.html加入一些代碼

.config(['$routeProvider','$locationProvider', function($routeProvider,$locationProvider){ 
       $routeProvider. 
          when('/main', { 
           templateUrl: 'view/index.html', 
           controller: 'ChatCtrl' 
          }) 
       $locationProvider.html5Mode({ 
        enabled: true, 
        requireBase: false 
       }); 
       }]) 

      .controller('LogCtrl',['$scope','$location', function($scope,$location){ 

         console.log('ok baby !!'); 

         $scope.addUser = function(){ 
          socket.emit('init',$scope.user); 
          $location.path("/main"); 
         }; 
        }]); 

,但它不能正常工作,送花兒給人重新加載側(log.html)

回答

1

插座不應該在控制器的依賴性在那裏,因爲它是你已經在腳本之外聲明的全局變量。服務,工廠,提供,常量,值等只能用於注入依賴。

代碼

.controller('LogCtrl', ['$scope', '$location', function($scope, $location) { 
    console.log('ok baby !!'); 

    $scope.addUser = function() { 
     socket.emit('init', $scope.user); 
     $location.path("/view/index.html"); 
    }; 
}]); 
+0

韓國社交協會很多,你救我一命:v –

+1

正是我需要它來修復它 – Xvegas

相關問題