idegree
@idegree
Senior Workaround Developer

Несколько компонентов на одной странице и роутинг в Angular2?

Здравствуйте! Изучаю Angular2 (до этого дел с новомодными front-end фреймворками не имел), пытаюсь повторить приложение на подобии 2GIS. Суть проблемы: На одном экране планирую расположить несколько компонентов, но не совсем понимаю как организовать роутинг в этом случае. Когда в зависимости от роута ан странице показываю отдельный компонент - всё понятно. Но например, есть три компонента AuthComponent, ListComponent, ItemComponent. Хочу примерно следующую схему.

Когда перехожу по ссылке /login - то хочу, чтобы на странице появлялся блок для входа (AuthComponent)
341bd051add04ddbb42927d319155e81.png

По ссылке /shops - блок со списком магазинов (ListComponent)
dc79a9fe04d744feb182fa4d5cb82cf1.png

По ссылке /shops/1 - блок с конкретным магазином (ItemComponent)
afd138bcbafc47998043e498d5528814.png

Ткните в какой-нибудь пример носом, как это должно быть?
  • Вопрос задан
  • 1032 просмотра
Пригласить эксперта
Ответы на вопрос 2
@NardM
Front-end разработчик
Есть несколько вариантов, первый, все закинуть в один компонент, и с помощью *ngIf уже все отображать(но это плохой вариант), второй вариант, просто создаешь одинаковые(почти) компоненты и переходишь по ним, пример:
{path: 'login', component: AuthComponent},
          {path: 'shops', component: ListComponent},
          {path: 'shops/:id', component: ItemComponent},


Хороший пример
Ответ написан
Подскажите как вы вывели API 2GIS в Angular2? Пробую подключить 2gis карты копоненте, в результвте фзш подгружается, сама карта отрабатывает, маркер отображается, элементы навигации, но всё это на желтом фоне. Pезультат - не инициализируются сами картинки карт, нотя они подгружаются и это видно в DevTools. Почемуто всегда их высота равна 0px.
Поделитесь пожалуйста как вы инициализировали API карту в Angular2+ ??
Сейчас всё выглядит как так:
5a12f19bcf58b052267837.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы