Ответ 1
В этом случае мы можем создать Master Guard, который будет запускать защиту приложений в соответствии с нашим требованием.
Проверьте этот ответ, чтобы понять подход.
Предполагая, что вы прошли через ссылку выше, подход в этом случае может быть таким же простым, как изменение свойства data
в классе Route
.
Что-то вроде этого -
{
path: "view2",
component: View2Component,
//attach master guard here
canActivate: [MasterGuard],
//this is the data object which will be used by
//masteer guard to execute guard1, guard 2, guard 3 & guard 4
data: {
trigger: {
operator: "OR",
guards: [
GUARDS.GUARD1,
GUARDS.GUARD2,
GUARDS.GUARD3,
GUARDS.GUARD4
]
}
}
}
И затем используйте флаг operator
чтобы соответствующим образом запустить все охранники.
Надеюсь, это поможет :)