【发布时间】:2016-05-03 11:55:32
【问题描述】:
我在我的项目中使用 UI 路由器。我的应用程序的主页包含 4 个选项卡,每个选项卡都路由到不同的模板。这是我当前的路由代码,我使用 forEach 创建 6 个路由。
['Draft','Assigned','InProgress','Completed','Rejected','All'].forEach(function (val) {
$stateProvider.state({
name: 'root.jobs.list.' + val.toLowerCase(),
url: '/' + val.toLowerCase(),
views: {
'currentTab': {
templateUrl: 'adminworkspace/jobs',
controller: 'JobsController'
}
},
data: {
userJobsStatus: val
}
});
});
默认情况下,当用户登录时,它会转到“root.jobs.list.draft”。如何根据登录用户的角色(管理员、用户、文员等)重定向到给定状态。如果要将属于“工程师”或“首席工程师”角色的所有用户重定向到 “root.jobs.list.inprogress”
我最初在控制器中有这个,但正如你所见,它不起作用,因为每次我点击一个选项卡时,它总是路由回 "root.jobs.list.inprogress"
if (user !== undefined) {
if (user.BusinessRole == "Engineer" || user.BusinessRole == "Lead Engineer")
$state.go('root.jobs.list.inprogress');
}
【问题讨论】:
标签: javascript angularjs angular-ui-router