AngularJS:未捕获的ReferenceError:$ rootScope未在运行中定义

时间:2015-06-16 20:10:02

标签: javascript angularjs firebase angularjs-service angularfire

我正在尝试将所有未经授权的流量路由到登录页面,并使用angularfire进行身份验证。 Here's all the relevant code.我知道其中大部分已被破坏,但我想先通过这个。有问题的代码是:

App.js

 app.run(['$rootScope', '$location', 'AuthenticatorService', function ($rootScope, $location, AuthenticatorService) {
        $rootScope.$on('$routeChangeStart', function (event) {

            if (AuthenticatorService.isLoggedIn) {
                console.log('DENY');
                event.preventDefault();
                $location.path('/login');
            }
            else {
                console.log('ALLOW');
                $location.path('/home');
            }
        });
    }]);

1 个答案:

答案 0 :(得分:4)

你错过了代码中的几件事

  1. 您的ng-app应该是ng-app="BillingApp"而不是ng-app="App"
  2. 您在服务DI数组中缺少$rootScope引用。
  3. <强>代码

    auth.service('AuthenticatorService', [ '$firebaseAuth', '$rootScope',//<--added this
        function($firebaseAuth,$rootScope) {
    

    Plunkr Here