2015-05-15 59 views
1

咕嚕給我任何錯誤無法登錄/註銷或註冊,和我submitPost功能停止工作

,並在調試器下

"Error: [$injector:unpr] Unknown provider: AuthProvider <- Auth <- user <- NavCtrl 

"Error: [$injector:unpr] Unknown provider: AuthProvider <- Auth <- user 

這是auth服務https://github.com/Eibonic/AngularJS-reddit/blob/master/app/scripts/services/Auth.js

並且這是導航控制器

'use strict'; 

app.controller('NavCtrl', function ($scope, $location, Post, Auth){ 
    $scope.post = {url: 'http://', title: ''}; 
    $scope.signedIn = Auth.signedIn; 

    $scope.submitPost = function() { 
     Post.create($scope.post).then(function (ref){ 
      $scope.post = {url: 'http://', title: ''}; 
      $location.path('/posts/' + ref.name()); 
      }); 
      }; 

      $scope.logout = function() { 
       Auth.logout(); 
      }; 
}); 

而這是驗證控制器。

'use strict'; 

app.controller('AuthCtrl', 
function ($scope, $location, Auth) { 
    if (Auth.signedIn()) { 
     $location.path('/'); 
    } 

    $scope.login = function() { 
     Auth.login($scope.user).then(function() { 
      $location.path('/'); 
     }); 
    }; 

    $scope.register = function() { 
     Auth.register($scope.user).then(function() { 
      return Auth.login($scope.user).then(function() { 
       $location.path('/'); 
      }); 
     }); 
    }; 
}); 

這是我用作參考的教程,並且在我添加Auth函數後開始破解。 https://thinkster.io/learn-to-build-realtime-webapps/

點擊提交什麼都不做。當我點擊註銷/註冊/登錄時,URL會改變,但就是這樣。

+0

您是否創建了'Auth' facotry?這個錯誤似乎是角度不能在你的NavCtrl中注入'Auth'。另一個奇怪的事情是,你的代碼似乎已經將'NavCtrl'重命名爲'AuthCtrl'對我來說,在進行更改後你不會重新構建你的應用程序。 – kachhalimbu

+0

是的,這是auth factory https://github.com/Eibonic/AngularJS-reddit/blob/master/app/scripts/services/Auth.js 另外,這只是我的問題格式不好。 它們被正確命名。 –

回答

0

您是否在index.html中包含以下文件?

<script src="scripts/services/auth.js"></script> 
<script src="scripts/controllers/auth.js"></script> 
+0

是的,我做到了。檢查拼寫錯誤,我沒有看到。 –

+1

我修好了,問題出在我的路線上。 也許教程代碼已過時,但它告訴我將解析放在templateUrl&controller下面 –