У меня есть приложение AngularDart 5 со следующей структурой вложенных компонентов:
mainComponent
с розеткой основного маршрутизатора. Его путь /
.
Компонент A
как дочерний элемент mainComponent
. У него также есть свой собственный выход маршрутизатора, и его путь /a
.
Компонент 1
как дочерний элемент A
. Его путь /a/1
.
Компонент 2
как еще один потомок A
. Его путь
/a/2
.
Будет ли переключение с 1
на 2
вызвать перезагрузку / визуализацию страницы a
?
например. при воспроизведении видео в a
произойдет ли перезагрузка видео с 1
на 2
?
Если это так, можно ли это предотвратить?
Я на самом деле задаю этот вопрос, потому что для меня при переключении с 1
на 2
страница будет перезагружена / перерисована.
EDIT:
Вот мои конфигурации маршрутизации.
Маршруты основного компонента:
class AppRoutePaths {
static final portal = RoutePath(path: 'portal');
static final workspace = RoutePath(path: 'workspace');
}
class AppRoutes {
static final _default = RouteDefinition.redirect(
path: '', redirectTo: AppRoutePaths.portal.toUrl());
static final _workspaceRoute = RouteDefinition(
routePath: AppRoutePaths.workspace,
component:
workspace_component.WorkspaceComponentNgFactory as ComponentFactory);
static final all = [_default, _workspaceRoute];
}
и соответствующая розетка маршрутизатора:
<router-outlet [routes]="AppRoutes.all"></router-outlet>
Это маршруты компонента A
:
class WorkspaceRoutePaths {
static final dashboard =
RoutePath(path: 'dashboard', parent: AppRoutePaths.workspace);
static final settings =
RoutePath(path: 'settings', parent: AppRoutePaths.workspace);
}
class WorkspaceRoutes {
static final dashboard = RouteDefinition(
routePath: WorkspaceRoutePaths.dashboard,
component: dashboard_component_template.DashboardComponentNgFactory as ComponentFactory);
static final settings = RouteDefinition(
routePath: WorkspaceRoutePaths.settings,
component: settings_component_template.SettingsComponentNgFactory as ComponentFactory);
static final _default = RouteDefinition.redirect(
path: '', redirectTo: WorkspaceRoutePaths.dashboard.toUrl());
static final all = [dashboard, settings, _default];
}
и соответствующая розетка маршрутизатора:
<router-outlet [routes]="WorkspaceRoutes.all"></router-outlet>