Я работаю над приложением NativeScript-Angular для Android и iOS, но столкнулся с проблемой стандартной навигации по кнопке «Назад». Я решил проблему для Android, но не могу найти решение для iOS.
Событие вызывает проблему при возврате к определенной странице, где ожидаются данные маршрутизации, что приводит к исключению:
«Ошибка: в настоящее время в навигации назад страницы - компонент должен быть присоединен, а не активирован».
Мое решение Android отлавливает событие возврата и отменяет его, а затем вызывает маршрутизатор для навигации.
ngOnInit() {
if (app.android) {
app.android.on(app.AndroidApplication.activityBackPressedEvent,
(args: any) => this.backEvent(args));
}
}
backEvent(args) {
args.cancel = true;
this.backToRegister(false);
}
backToRegister(accepted: boolean){
this.router.navigate(['/register',
this.registerParametersEntered.password,
this.registerParametersEntered.confirmPassword,
this.registerParametersEntered.code,
this.registerParametersEntered.email,
accepted]);
}
Я хочу сделать что-то подобное с iOS, например: -
if (app.ios) {
this.page.on('navigatingFrom', (data) => {
// TODO cancel the back button event
this.backToRegister(false);
})
}
Я не могу найти способ сделать это для iOS - мое исследование приводит меня к выводу, что невозможно отменить кнопку возврата iOS - например, см. здесь .
Любые идеи или альтернативные предложения с благодарностью!