Angular 8 + Atomic Design

Angular 8 + Atomic Design
T9
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 4 lata
  • Postów:55
0

Cześć, Mam kilka pytań odnośnie atomic design w angularze. Podstawy są zrozumiałe, tworzę najmniejsze niepodzielne komponenty atomowe, następnie łącze w większe, aż do strony. Kiedy powinienem implementować wyświetlanie na różnych rozdzielczościach w templates? Powiedzmy, że mam stronę logowania, albo stronę główną jeszcze lepszy przykład, która będzie wyglądać całkowicie inaczej na mobilce i na desktopie. Tworzę template home i tutaj w css określam sposób wyświetlania dla poszczególnych rozdzielczości? Czy template to własnie miejsce na to dobrze myślę?

Drugie pytanie odnoście dostarczania danych z backendu to tych komponentów. Gdy mam już template to wtedy używam go w page Home i w home.component.ts wstrzykuje jakieś serwisy do powiedzmy artykułów, profilu, notyfikacji i dalej te dane pobieram @Input() i podaje w dół? To będzie raczej powodowało taki nadmiarowy łańcuch tych danych (Dane muszą przejść przez każdy komponent, żeby dotrzeć na sam dół). Jak to powinno działać? Jakie jest podejście do tematu?

mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
0

Każdy component ma swój css i tam definiujesz jak ma być widoczny


It's All About the Game.
VE
  • Rejestracja:około 9 lat
  • Ostatnio:około 9 godzin
  • Postów:160
1

A dlaczego nie wstrzykniesz serwisu do komponentu w którym faktycznie chcesz go użyć?

T9
@Veox: Jeśli będę miał komponent np. Articles, i w jednym miejscu chce wyświetlać wszystkie, a w innym tylko dodane przeze mnie? A komponent jest uniwersalny. Chyba, że mam tworzyć osobny komponent pod jedne i drugie, ale to chyba bez sensu. Albo w jakiś sposób definiować, które dane mam wyświetlić. Nie wiem jak do tego podejść.
VE
  • Rejestracja:około 9 lat
  • Ostatnio:około 9 godzin
  • Postów:160
1

Opcji pewnie jest sporo ale może sparametryzuj komponent jakimś inputem

Kopiuj
<my-cmp [onlyMine]="true"></my-cmp>

W klasie z kolei dajesz @Input() domyślnie na false i możesz sterować kiedy ma się co wyświetlać.

T9
@Veox: Dzięki, to wydaje się dorym pomysłem. A co z RWD? Nie mogę tego zdefiniować ani w atomach, ani w molekułach, w organizmach już bardziej najbardziej mi tu pasuje templates? Jak to widzisz?
VE
Możesz przeciez zdefioniowac np. w liście artykułów jak mają się układać poszczególne artykuły.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.