Привіт!
Питання по роутам та по гварду canDeactivate (попап підтвердження виходу. Для тесту використовую просто синхронний confirm()).
При зміні роуту (кнопка "назад" в браузері) гвард викликається ПІСЛЯ зміни самого роуту (а не ДО, як я очікував і завжди вважав).
Звідси виникає наступна проблема. Якшо в історії ми рухались так:
0. новий таб
1. /home
2. /products
3. /products/edit
то при русі "назад" при першому кліку по кнопці роут змінюється на №2 (якшо ми відміняємо, то вертається на наш актуальний №3). Це типу ок, але при повторному кліку по кнопці "назад", роут змінюється вже на №1, а не на №2 (ніби проскакує цей степ).
При чому якшо також закенселити перехід і "повернутись" в свій поточний роут (начебто типу все ок) то при кліку по кнопці "назад" ми редіректимось на пусту табу (з чого починали) вже взагалі БЕЗ визову гварда.
Поточна поведінка така, що незалежно від резолюшина canDeactivate вважається шо ми "скористались" location.back() і історія локацій підчищається.
Можете підказати куди можна почитати чи покопати?