Примечания к выпуску NativeScript 4.1 показывают, что модальные представления теперь также поддерживают навигацию при использовании NativeScript с Angular.
Я пробовал пример проекта https://github.com/NativeScript/nativescript-sdk-examples-ng, но, похоже, все еще есть некоторые проблемы с модальной навигациейс использованием NativeScript с Angular.
Не могли бы вы помочь мне решить эту проблему или указать лучший пример?Большое спасибо!
Как воспроизвести:
- убедитесь, что установлен NativeScript 4.1 *
пример клона и запустите его в iPhone или iPhone Simulator
git clone https://github.com/NativeScript/nativescript-sdk-examples-ng cd nativescript-sdk-examples-ng / tns run ios --emulator
Будет показан список «Образцы кода NativeScript»
прокрутите вниз до строки «Модальная страница» и коснитесь ее -> отобразится страница «Модальная страница»
- коснитесь строки «Навигация по модальной странице» -> страница «Модальная страница»будет отображаться навигация по страницам
- нажмите кнопку «ПОКАЗАТЬ МОДАЛЬ» -> страница «МОДАЛЬНЫЙ ВИД» будет представлена в виде модального вида, скользящего снизу
- нажмите кнопку «Следующая страница» ->появится страница «Вторая модальная страница»
- нажмите кнопку «ЗАКРЫТЬ МОДАЛЬ» -> модальное представление исчезнет при перемещении назад вниз, и страница «Модальная навигация по страницам» снова станет видимой
нажмите кнопку «Назад» в левом верхнем углу -> страница «Модальная навигация по страницам» исчезнет вправо и страница «Модальные страницы»age "снова становится видимым, и следующая ошибка регистрируется в терминале , но ожидается, что эта ошибка не появляется:
Файл CONSOLE ERROR: /// app / tns_modules / @ angular/core/bundles/core.umd.js:1590:24: ОШИБКА Ошибка: Uncaught (в обещании): Ошибка: в настоящее время в навигации назад страницы - компонент должен быть присоединен, а не активирован.activWith @ file: ///app/tns_modules/nativescript-angular/router/page-router-outlet.js: 212: 28 [угловой] activRoutes @ file: /// app / tns_modules / @ angular / router / bundles / router.umd.js: 4269: 52 [угловой] файл: ///app/tns_modules/@angular/router/bundles/router.umd.js: 4221: 33 [угловой] forEach @ [собственный код] [угловой] activChildRoutes @file: ///app/tns_modules/@angular/router/bundles/router.umd.js: 4220: 36 [angular] activRoutes @ file: ///app/tns_modules/@angular/router/bundles/router.umd.js: 4241: 41 [угловой] файл: ///app/tns_modules/@angular/router/bundles/router.umd.js: 4221: 33 [угловой] forEach @ [собственный код] [угловой] activChildRoutes @ file: ///app/tns_modules/@angular/router/bundles/router.umd.js:4220:36 [angular] активировать @ file: ///app/tns_modules/@angular/router/bundles/router.umd.js: 4142: 33 [angular] fil
Нажмите на любую строку, например, «Модальная навигация по страницам» -> ожидается, что, например, страница «Модальная навигация по страницам» будет показана снова, , ноПользовательский интерфейс не меняется. Вместо этого яf Например, нажав строку «Пример модальной страницы» на терминале снова регистрируется следующая ошибка, описанная выше.
Таким образом, похоже, маршрутизатор больше не работает.
Обходной путь: в файле nativescript-sdk-examples-ng / app / modal-page / modal-page-navigation / second-modal-view-content.component.ts заменить
onClose(): void {
this._params.closeCallback("return value");
}
с
onClose(): void {
this.router.back();
setTimeout(() => {
this._params.closeCallback("return value");
}, 1000);
}
Обходной путь сначала вернется на одну страницу в модальном представлении, а затем отклонит модальное представление.Из-за ожидания в течение 1 секунды пользователь может видеть это поведение, которое не является желательным.Если не ждать достаточно долго, обходной путь не сработает (например, 100 мс кажется недостаточно).
Большое спасибо за вашу помощь!