Я следовал официальному учебнику (https://angular.io/guide/router) по маршрутизации и нескольким другим источникам, и я не уверен, является ли @Component подходящим подходом для простых шаблонов.
Моя цель состояла в том, чтобы найтикомпонент панели, который я могу разместить, например, на целевой странице в качестве 1-го раздела, затем, когда пользователь не находится на целевой странице - поместите его в заголовок и, возможно, даже где-то еще. В основном это автономная вещь, которая работает где угодно сама по себе.
Существует это учебное приложение https://stackblitz.com/angular/empolopovbx, где они используют имя router outlets
для создания выхода с именем popup
, которое будет содержать компонент для создания crisis message
. Теперь все в порядке, но вся механика работает в основном какоткрытие 2 страниц (ссылаясь на routes/components
в Angular) и размещение одной в главном (неназванном) выходе, а второе (сообщение о кризисе) в указанном popup
выходе.
Это переводит на такие ссылки, как:
- site / superheroes (popup: compose)
Так что для каждой названной розетки маршрутизатора я получу (router-outlet-name: component) в ссылке.
Тогда я подумал - действительно ли так можно поступить, когда у меня есть несколько выходов в родительских компонентах, и вы хотите повторно использовать произвольное количество компонентов во всем приложении?Так как я все еще плохо знаком с Angular, это просто беспокоит меня - я неправильно понимаю использование названных выходов маршрутизатора?Должны ли они даже использоваться в «больших количествах»?Например, страница, подобная этой:
app.component
:
<header>...</header>
<router-outlet>
<footer>...</footer>
landing.component
:
<section class="landing-swiper">
...
</section>
<section class="landing-search">
<router-outlet name="search-bar">
<section>
<section class="landing-news">
<router-outlet name="news-window">
<section>
<section class="landing-contact">
<router-outlet name="contact-form">
<section>
Таким образом, в основном app.component
является основным, дающим нам заголовоки я и нижний колонтитул хотим, чтобы целевая страница (landing.component
) была вставлена как контент в нее.
Но тогда landing.component
также использует несколько других (которые также могут использоваться в других местах, например * 1041)* который здесь будет вставлен в маршрутизатор contact-form
, также будет размещен на странице "О компании".
Итак, вопрос здесь - правильно ли я понимаю архитектуру, нормально ли я будуполучить эти длинные ссылки, когда я использую множество роутеров ?