без кода трудно советовать. в гайдах пишут выносить в сервис. сам думаю, что нет однозначного ответа. если это небольшой компонент и код используется только в нём, то и смысла нет выносить его в сервис. если это громоздкий (вьюшный) компонент и он перегружен логикой, то однозначно надо выносить в сервис. либо разбивать толстый компонент на более мелкие(без фанатизма), что лично предпочитаю сам. чистенький контроллер признак хорошей архитектуры
многие ничего не понимают в ангуларе и спрашивают теорию js. самое популярное это ооп. любят подводные камни и особенности. были даже клоуны которые отправили тест на 5 минут используя someArr.reduce. спросили про ооп
идея так себе. чем плох фронт на том же пхп? а крайняк можно сделать гибридный фронт. часть пхп. какие то сложные места(корзина или фильтр например) на ангуларе как тут https://petrovich.ru/action_type/burns/
для прода идея хороша только если есть приличный опыт в ангуларе. многие без опыта за что не возьмутся, все jquery треш получается. кстати есть сайты гибриты. например петрович на пхп но фильтр и корзина на первом ангуларе https://petrovich.ru/action_type/burns/ грузится побыстрее серверного ангалара 2/4
в репите это всего один вотчер. главное внутри того что повторяется использовать :: . плюс используй track by $index вот он значительно прибавит скорость на больших массивах со множеством данных внутри. и по скорости работы с дом догонит реакт
юзать надо/лучше слайдер именно под второй ангулар. когда будет опыт тогда и можно пробовать писать директивы обертки самому но по мне так это лишняя трата времени. проще найти готовый плагин. а стили допилить под себя
на динамику в любом случае подписываться надо будет и код не станет красивее/меньше. а вот на статику можно просто this.route.snapshot.queryParams['id'];
куда не зайду везде хаят проверенные годами решения. понимаю конечно что флексы это модно-современно но старый браузерный треш не поддерживает их. по теме: сетка отдельно весит пару десятков килобайт и нормально работает с любыми css либами
первый вариант резолв в роутере и уже в новую страницу передается подтянутое с бека. второй похуже через queryParams: добавить в ссылку [queryParams]="{name: item.name}" но кириллица в урле не айс имхо
советую сразу забыть про порт единички в четверку. это маркетинг от разрабов.
при минификации такой код не будет работать. надо подрубать например вебпаковский ngInject.
чтобы было по проще можно пока не использовать резолвы. имхо сомнительной нужности штука. чтоб все заработало нажо инжектить резолв entry в контроллер