2016-04-22 4 views
1

У меня есть создать такую ​​аннотацию:Есть ли способ перейти к другому представлению из CanActivate?

@CanActivate(
(next,prev)=> { 
    var neededPermission = ["PERMISSION"]; 
    var userPermissions = JSON.parse(sessionStorage.getItem('permissions')); 
    if (userPermissions && !_.isEmpty(_.intersection(userPermissions, neededPermission))) { 
     return true 
    }else { 
//Navigate to No Permission state? 
     return false; 
    } 
} 

)

И я задаюсь вопросом, как я могу перейти пользователя на другую страницу, если результат Funcition является false?

ответ

1

The Plunker связаны в this comment показывает, как это можно сделать

Protected компонент имеет @CanActivate(...) декоратора, который вызывает isLoggedIn() который вызывает router.navigate().

Этот Plunker демонстрирует, как использовать DI в @CanActivate()

Смежные вопросы