Tôi đang sử dụng bộ định tuyến giao diện người dùng trong dự án của mình. Trang chủ ứng dụng của tôi bao gồm 4 tab, mỗi tab định tuyến đến một mẫu khác nhau. Đây là mã định tuyến hiện tại của tôi, tôi đang sử dụng forEach để tạo 6 tuyến đường.
['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
}
});
});
Theo mặc định khi người dùng đăng nhập, nó sẽ chuyển đến "root.jobs.list.draft". Làm thế nào để chuyển hướng đến một trạng thái nhất định dựa trên vai trò của người dùng đã đăng nhập (Quản trị viên, Người dùng, Thư ký, v.v.). Nếu muốn chuyển hướng tất cả người dùng thuộc vai trò "Kỹ sư" hoặc "Kỹ sư trưởng" đến "root.jobs.list.inprogress"
Tôi ban đầu có cái này trong bộ điều khiển, nhưng như bạn thấy, nó không hoạt động, vì mỗi lần tôi nhấp vào một tab, nó luôn định tuyến trở lại "root.jobs.list.inprogress"
if (user !== undefined) {
if (user.BusinessRole == "Engineer" || user.BusinessRole == "Lead Engineer")
$state.go('root.jobs.list.inprogress');
}