2015-12-12 3 views
0

Я попытался создать модуль для входа. Я определил cotroller, я попытался Acces функции от службы, и я получил письмо ReferenceError:Ошибка углового обслуживания, когда я ссылался с контроллера

ReferenceError: Auth is not defined

Контроллер:

class NavbarController { 
    constructor($location) { 
    this.$location = $location; 
    this.isLoggedIn = Auth.isLoggedIn; 
    this.isAdmin = Auth.isAdmin; 
    this.getCurrentUser = Auth.getCurrentUser; 
    } 

    isActive(route) { 
    return route === this.$location.path(); 
    } 
} 

angular.module('rideSharingApp') 
    .controller('NavbarController', NavbarController); 

Услуга:

(function() { 

function AuthService($location, $http, $cookies, $q, appConfig, Util, User) { 
    var safeCb = Util.safeCb; 
    var currentUser = {}; 
    var userRoles = appConfig.userRoles || []; 

    if ($cookies.get('token') && $location.path() !== '/logout') { 
    currentUser = User.get(); 
    } 

    var Auth = { 
    isLoggedIn: function(callback) { 
     if (arguments.length === 0) { 
     return currentUser.hasOwnProperty('role'); 
     } 

     return Auth.getCurrentUser(null) 
     .then(function(user) { 
      var is = user.hasOwnProperty('role'); 
      safeCb(callback)(is); 
      return is; 
     }); 
    } 
    }; 

    return Auth; 
} 

angular.module('rideSharingApp.auth') 
    .factory('Auth', AuthService); 

})(); 

я не знаю почему я получил эту ошибку. Я не очень хорошо разбираюсь в углах, так что вы можете помочь мне исправить эту ошибку?

Спасибо.

+0

пройти по этой ссылке: http://stackoverflow.com/questions/27797009/auth-is-undefined-ui-router-auth0 –

ответ

1

Вы не прошли "Auth" Dependency в "NavbarController" ... Pass Auth в конструкторе контроллера .... Надеюсь, что это будет решать эту проблему ...

Спасибо

+0

Спасибо, я решил проблему: D. – Dorin

+0

почему downvote? не понял ...: / – khaled4vokalz