简体   繁体   中英

$auth.login is not a function

I'm using AngularJS 1.4.6 and Satellizer for oauth. I'm doing everything as written but always get same error:

angular.js:12450 TypeError: $auth.login is not a function

login.html:

  <div class="form-group">
    <input type="email" class="form-control underline-input" placeholder="Email" ng-model="user.email" required>
  </div>

  <div class="form-group">
    <input type="password" placeholder="Password" class="form-control underline-input" ng-model="user.password" required>
  </div>

  <div class="form-group text-left mt-20">
    <button type="submit" class="btn btn-greensea b-0 br-2 mr-5" ng-click="login()" ng-disabled='form.$invalid'>Login</button>
    <label class="checkbox checkbox-custom checkbox-custom-sm inline-block">
      <input type="checkbox"><i></i> Remember me
    </label>
    <a ui-sref="core.forgotpass" class="pull-right mt-10">Forgot Password?</a>
  </div>

</form>

Login controller:

 .controller('LoginCtrl', function ($scope, $auth) {

    $scope.user = {};
    $scope.user.email = 'test@gmail.com';
    $scope.user.password = 'test';

    $scope.login = function () {
      $auth.login($scope.user).then (
        function (response) {
          console.log(response);
        },
        function (error) {
          console.log(error);
        }
      )
    }

app.js:

     .config(['$stateProvider', '$urlRouterProvider', '$authProvider', function($stateProvider, $urlRouterProvider, $authProvider ) {

          $authProvider.loginUrl = '/auth/login';
...

I tried different settlements, researched github issues but not found a solution.

Whats my fault? How can I fix it?

I add to controller array option

.controller('LoginCtrl', ['$scope','$auth', function ($scope, $auth) {

    $scope.user = {};
    $scope.user.email = 'test@gmail.com';
    $scope.user.password = 'test';

    $scope.login = function () {
      $auth.login($scope.user).then (
        function (response) {
          console.log(response);
        },
        function (error) {
          console.log(error);
        }
      )
    }]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM