1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-arkui_ace_engine

 / Детали:

Новое требование:相关内容 NavPathStack

Предстоит сделать
Владелец
Создано  
09.03.2025

Новое требование предоставляет следующие возможности:

  1. Добавлен метод удаления маршрута, который ранее отсутствовал, а также возможность получения отдельного маршрута. До этого момента существовал только метод очистки (clear), и отсутствовал метод удаления конкретного маршрута из стека маршрутов.
  2. Добавлены циклические функции прослушивания показа и скрытия вложенных компонентов внутри NavDestination. В настоящее время можно слушать события onShown и onHidden только на самом компоненте NavDestination, однако функция onHidden имеет два бага:
    1. При первом показе страницы сначала выполняется onHidden, затем — onShown.
    2. Количество выполнений событий onHide и onShown равно количеству маршрутов текущей страницы в стеке маршрутов, что приводит к избыточному поведению.

Какие ценности и применения приносит данное требование?

Примеры использования и проблемы с текущими объектами навигации и маршрутов:1. Приложение ориентировано горизонтально; его макет и управление похожи на веб-интерфейсы управления. Левый столбец представляет собой меню, а правый — область содержимого.
2. Из-за ошибок в NavDestination.onShown и NavDestination.onHidden: количество выполнений событий onHide и onShown равно количеству маршрутов текущей страницы в стеке маршрутов. Поэтому требуется метод управления данными стека маршрутов, который позволяет удалять отдельные маршруты.
3. Ошибка aboutToDisappear при использовании navigation: когда текущий компонент использует pushName для перехода на другую страницу, метод aboutToDisappear текущего компонента не вызывается. Однако часто требуется выполнять действия в этом методе, такие как завершение работы таймера.
4. При каждом переходе между страницами могут потребоваться различные параметры. В этом случае использование pushName может привести к проблемам, аналогичным вышеописанным.Причины отказа от использования объекта router:

  1. Приложение содержит большое количество страниц, макет которых похож на веб-интерфейсы управления, что делает его сложным. Использование объекта router может привести к зависанию приложения.

Комментарий (0)

GitLife Service Account Задача создана
GitLife Service Account добавлено
 
enhancement
label.
GitLife Service Account добавлено
 
waiting_for_assign
label.
Развернуть журнал операций

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/openharmony-arkui_ace_engine.git
git@api.gitlife.ru:oschina-mirror/openharmony-arkui_ace_engine.git
oschina-mirror
openharmony-arkui_ace_engine
openharmony-arkui_ace_engine