ionic4 достижения ionic3 NavController.removeView () результаты

Во-первых, требование описание

Когда при использовании ionic4 развития сталкивалось с таким спросом, пользователь может ввести страницу заказа из корзины страницы, а затем перейти на странице оплаты на странице заказа, но когда пользователь нажимает на кнопку назад в платежной странице мобильного телефона непосредственно к странице корзины (прыжок заявки, поданные через страницу).

Во-вторых, проблемы, возникающие

В нормальных условиях, ионные и вернуться к отображению страницы является процессом нажатия и появляются при открытии новой страницы, новая страница будет толчок к стеке страницы, при нажатии кнопки Назад этой странице с вершиной стеки из стека.

ionic4 достижения ionic3 NavController.removeView () результаты

В ionic3, предложен NavController.RemoveViewспособ для реализации требуемой функции, следующий код может быть реализован.

    //记录当前页面对象
    let actionView = viewService.getActive();
    //打开新页面
    await viewService.Push(page, context, { animate: false });
    //从页面栈中删除记录页面
    await viewService.RemoveView(actionView);

В ionic4 в NavControllerапи претерпел большие изменения, удалено RemoveViewметод дает только navigateForward、back、popдругой простой API.

В-третьих, решение

ionic4Он рекомендовал angularсобственную политику маршрутизации, а именно использование Routerмаршрутизации. При использовании , router.navigateByUrl()когда прыжок странице метод, вам нужно настроить replaceUrlзначение свойства true, вновь открытая страница будет заменить текущую страницу.

    this.router.navigateByUrl('order/order-pay', { replaceUrl: true });

окончательная структура Html, как показано. Из HTML структуры, страница представления заказа заменяется на странице оплаты заказа, нажмите кнопку Назад, чтобы вернуться к странице корзины.

ionic4 достижения ionic3 NavController.removeView () результаты

рекомендация

отblog.51cto.com/13876655/2413144