У меня есть маршрут /search
, в котором есть 2 компонента;Один из них - это окно поиска с результатами, а другой - новостная лента, которая должна быть на каждой странице, не связанной с поиском.Если я выполняю поиск и добавляю параметры к URL-адресу, результаты будут отображаться под моим окном поиска, но после повторной инициализации страницы / компонента также происходит повторная инициализация новостной ленты, при которой снова приходится получать те же данные (это долговыполняется задача).
Как я могу обновить URL, чтобы отразить изменение состояния одного компонента, без повторного рендеринга другого компонента на странице?
angularjs раньше имел reloadOnSearch: false
, которыйрешит эту проблему, хотя небрежно
Редактировать: Лучше было бы вместо этого сохранить возвращенный результат в Сервисе, а затем при изменении маршрута получить последний результат снова изоказание услуг?Если это так, как это будет сделано?
Редактировать: Как cgTag
связан с.Именованные торговые точки могут быть использованы.Я не вижу никакого контента в месте, где должна быть точка выхода
app-routing.module.ts
const routes: Routes = [
{ path: 'search', component: SearchComponent },
{ path: 'view', component: ClientNewsFeedComponent, outlet: 'client-news-feed' }
];
search.component.html
<div>
<cc-search-client-field></cc-search-client-field>
<router-outlet name="client-news-feed"></router-outlet>
</div>
и затем просмотр URL-адреса /search(client-news-feed:view)
на маршрутизаторе не выводит никакого содержимого
Редактировать: Понял.Маршрутизация должна быть
path: 'search', component: SearchComponent, children: [
{ path: 'view', component: ClientNewsFeedComponent, outlet: 'client-news-feed' }
]
, а URL должен иметь /
/ search / (client-news-feed: view)