У меня есть угловое приложение на странице JSP, которая имеет:
ng-init="role='<%=String.valueOf(session.getAttribute("role"))%>'"
Так тег тела будет выглядеть, когда JSP тянет атрибут роли из сессии:
<body ng-app="appName" ng-init="role='roleName'">
Я хочу получить доступ к этой переменной role
в $routeProvider
.
Я попытался сделать так, передавая $scope
функции app.config
как таковой:
app.config(['$routeProvider', '$scope',
function ($routeProvider, $scope) {
$routeProvider
.when('somePath' {
...
})
.when('someOtherPath' {
...
})
.otherwise({
redirectTo: $scope.role == 'goodRole' ? 'somePath' : 'someOtherPath'
});
}]);
Тем не менее, кажется, что вы не можете передать в $scope
таким образом.
Есть ли способ получить доступ к переменной области видимости таким образом, или есть ли другой способ сделать это?
Вы не можете получить доступ к $ рамки из функции связи контроллера или директивы. – Raulucco
Если речь идет о роли аутентификации, вы можете прикрепить переменную к маршруту, например [authenticate: true] (https://github.com/DaftMonk/generator-angular-fullstack/blob/master/app/templates/client/app/ account (auth)/account (js) .js), может [перенаправить] (https://github.com/DaftMonk/generator-angular-fullstack/blob/master/app/templates/client/app/app (js) .js) to/login page в app.run method – YOU