我在 JSP 页面上有一个 Angular 应用程序,它具有:
ng-init="role='<%=String.valueOf(session.getAttribute("role"))%>'"
因此,当 JSP 从 session 中提取角色属性时,body 标记将如下所示:
<body ng-app="appName" ng-init="role='roleName'">
我想访问 $routeProvider
中的这个 role
变量。
我尝试通过将 $scope
传递给 app.config
函数来实现此目的,如下所示:
app.config(['$routeProvider', '$scope',
function ($routeProvider, $scope) {
$routeProvider
.when('somePath' {
...
})
.when('someOtherPath' {
...
})
.otherwise({
redirectTo: $scope.role == 'goodRole' ? 'somePath' : 'someOtherPath'
});
}]);
但是,您似乎无法以这种方式传递 $scope
。
是否有一种方法可以以这种方式访问作用域变量,或者是否有其他方法可以实现此目的?
最佳答案
不,这是不可能的。将其设置为 data-role
怎么样?属性并从 document.body.dataset.role
获取它:
data-role="<%=String.valueOf(session.getAttribute("role"))%>"
关于javascript - AngularJS:访问 $routeProvider 中的范围变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29630268/