wikiApp.config(['$routeProvider','authService', function($routeProvider,authService) { var admin = authService.getLoggedin(); $routeProvider .when('/hjem',{ templateUrl: 'partials/homeContent.html', admin: false }) .when('/articles/:article',{ templateUrl: 'partials/articles.html', admin: false }) .when('/newArticle',{ templateUrl: 'partials/postArticle.html', controller: 'articleController', admin: true })
authService.getLoggedin()返回false或true取决于用户是否登录。然后,我想不允许他们进入网址,如果不允许的话。
但是我收到此错误:错误:[$ injector:modulerr]由于以下原因无法实例化模块WikiApp:[$ injector:unpr]未知提供程序:authService
在配置阶段,您只能要求提供程序($ routeProvider,$ locationProvider等),这意味着您 不能 注入任何其他实例,因此我建议在运行阶段注入服务,那里将有一个服务实例。
// configuration app.config(function($routeProvider) { }); //inject any instance app.run(function($rootScope,authService) { var admin = authService.getLoggedin(); $rootScope.$on('$routeChangeStart', function(next, current) { // your logic here... }); });