od Podstaw
6 godz. 45 min · Angular · Full-stack i Programowanie
Mateusz KuleszaSenior Software Developer, Konsultant, TrenerPierwsze dwa działy kursu są idealne dla osób które rozpoczynają swoją przygodę z Angularem i stanowią wprowadzenie do frameworka. Zaczynamy od prostych przykładów, gdzie budujemy formularz zapisu na newsletter. Jest to przykład pozornie prosty, ale dzięki łatwości z jaką Angular wprowadza dynamizm, manipulacje wyglądem a nawet animacje wcale taki nie będzie. Zobaczysz, że nawet prosty przykład możemy zamienić w interaktywny, dynamiczny interfejs, który wciągnie użytkownika!
W kolejnych sekcjach kursu nie robimy prostych ćwiczeń, ale krok po kroku budujemy prawdziwy projekt. Jeśli marzyło Ci się stworzenie i opubliklowanie eleganckiej strony WWW lub aplikacji z Twoim CV oraz listą projektów, to nie musisz marzyć dalej. Możesz podążać krok po kroku i z każdą lekcją budować własną stronę portfolio. Będziesz zaskoczony, że z podstawową znajomością JavaScript, HTML i CSS zaczniesz błyskawicznie tworzyć złożone eleganckie i interaktywne interfejsy użytkownika.
W kursie stawiam na produktywność. Koniec że żmudnym klepaniem setek lini HTML i CSS, koniec z zawiłym kodem jQuery. Wykorzystując bibliotekę Bootstrap i modyfikując gotowe elementy HTML możemy skupić się na tym co najważniejsze. Zobaczysz jak wykorzystać interpolacje i wiązania by struktura HTML i CSS zmieniała się sama po każdej akcji użytkownika. Dzięki poprawnemu użyciu mechanizmów Angulara, mozolna praca z DOM, którą znasz np. z jQuery staje się zbędna. Angular renderuje interfejs za Ciebie - prosto z danych które umieścisz w komponentach.
Już w pierwszych sekcjach kursu dowiesz się jak wykorzystać moduł formularzy w praktyce, by tworzyć automatyczne dynamicznie generowany formularze i pobierać z nich dane. Dowiesz się także jak znając wyłącznie podstawy JavaScript połączyć naszą stronę portfolio z serwerem i pobrać pliki JSON, w tym nasze projekty, opisy i zdjęcia ze zdalnego serwera!
Podczas pracy nad Twoim portfolio nie tylko poznasz podstawy pracy z angularem, ale w kilku lekcjach zagłębimy się na chwilę w samo działanie Angulara. O ile jest to wiedza zaawansowana, tak znajomość mechanizmów wykrywania zmian już na samym początku pracy z Angularem da Ci lepsze zrozumienie tego narzędzia i pozwoli pisać kod który będzie nie tylko prosty i czytelny ale też będzie działał błyskawicznie. W tym kursie nie tylko pokazuje jak czegoś użyć, ale kiedy, dlaczego oraz jak to działa od środka. Nawet jeśli Angular nie jest dla Ciebie nowością - ten kurs da Ci głębsze zrozumienie jego koncepcji.
Ten kurs przygotowałem dla osób początkujących w Angularze, ale w taki sposób by mógł on służyć także do powtórzenia, uporządkowania wiedzy czy uzupełnieniu braków dla osób które pracowały już z Angularem. Jeśli jesteś front-end developerem, ale jeszcze nie miałeś okazji zapoznać się z Angular, lub chcesz uzupełnić szczątkową wiedzę o fundamenty - to jest kurs dla Ciebie! Dodatkowo, jeśli zaczynasz przygodę z front-end ale masz już podstawy HTML i JavaScript, to kolejny ważny krok na Twojej drodze do kariery!
Angular 10+
Wiemy już jak tworzyć własne komponenty i
wiemy jak z tych komponentów dynamicznie wędrować dowolne dane w postaci tekstu.
Co jednak kiedy chcielibyśmy właśnie tutaj
dynamicznie wyświetlić nie tylko tekst ale jakąś strukturę HTML.
Jak pamiętasz wydaje się że HTML a to agora na to nie pozwoli.
On taki HTML nam usunie z pisma HTML a dodać to nie wprowadzamy
jako tekst tylko potrzeba do tego specjalnych znaczników w HTML.
Teraz nim to zrobimy.
Jeśli były jakieś elementy HTML czyli PDF
który będzie miał jakiś test powiedzmy jakiś tytuł
tylko jakieś różnych atrybutów przykładowych w ten sposób.
OK. Czy ktoś zabierze jakiś jeszcze element
czyli tworzy jakiś przykładowy HTML który jak widzisz ma różnego rodzaju atrybuty.
Powiedz w ten sposób i oczywiście Muller to zero jako zwykły element HTML.
Czyli mamy nasz GIF nasz GIF zawiera w środku jak go rozwija
import i te elementy tu są i teraz tak tego ten GIF.
Wiesz to w krypcie mogę go dostać poprzez IDE test telefon idę.
To powstaje globalna zmienna jest też troszeczkę inaczej.
Tutaj mam zaznaczone te elementy pismem
prawym i z badań tutaj są zaznaczone to mam bo dostępne w zmiennej dolar 0 tutaj w
konsoli tylko i sobie zbadać jego atrybuty.
I teraz cos ciekawego że mógł tych
atrybutów dostać się poprzez API czyli mianowicie bezpośrednio mogę np.
odczytać sobie powiedzmy ile
mogę bezpośrednio odczytać tytułu ale nie każdy atrybut jest wzmiankowany.
Nie każdy ma swój odpowiednik w tym obiekcie tak jak
w środę to jest masa różnych elementów czyli wszystkie właściwe własności
ale nie wszystkie atrybuty znajdują się tutaj w tych opcjach to właściwościach.
Co jeszcze. Idę spróbujmy.
Data test.
To już nie zadziałało bo to jest podejmowanie w krypcie tak samo roli.
Też tutaj nie dostaniemy.
Nie ma takiej możliwości trzeba byłoby to zrobić poprzez gest atrybut.
Rolę możemy pobrać sobie rolę i tak chcemy ustawić zmienić pewne własności tak
aby zmienić nie ma problemu mogę idę zmienić na inne.
Jak widzisz się zmienia. Możemy też zmienić sobie i itd.
Możemy je modyfikować jeśli nie zrobię żadnych błędów oczywiście.
W ten sposób te pozostałe jako atrybut zmodyfikować.
Co ciekawe że np. mogę zrobić to w dwie strony.
Czy chciałbym ukryć ten element.
To mogę zrobić albo tak idę co jak zobaczysz doda mi atrybut Hidden.
Mógł liczyć na forsę.
Fox atrybut znika czyli możemy po prostu
poprzez te własności modyfikować sobie obiekty atrybutów niektórych nie dostać
się w ten sposób trzeba wykorzystać funkcję po prostu atrybut lub ręcznie np.
w ten sposób SED atrybut.
Tak w ten sposób go ustawić w ten sposób
jeśli nie ma odpowiednika jeśli jest to odpowiednik dziś możemy
dostać się do domu to jest to bardzo wygodny sposób zebrać dużo mniej pisania
jest też szybszy sposób nie trzeba dodatkowej funkcji wykonywać.
Jeśli chcesz znać te własności to możesz sobie tutaj zobaczyć po prostu zbadać
element i zobaczyć jak on dostępne właściwości.
Możesz też poszukać sobie powiedzmy HTML do API i np.
na stronie Mozilla Developer Network.
Tutaj mamy spis wszystkich obiektów API ze strukturą.
Szukamy sobie JavaScript nowej
reprezentacji linku link Kotwica czyli HTML a HTML ang.
element i widzimy jego własności.
Download href host host itd.
Czyli możesz zobaczyć jakie własności są w
tych elementach i co one robią jest u ładnie w dokumentacji opisanej teraz.
Dlaczego o tym mówię.
Dlatego że się modyfikuje obiekty to nie chcemy niszczyć całego elementu jeszcze
raz go tworzyć chcemy tylko zmienić właściwości też nie atrybuty tylko
właściwości istnieje właściwość tę wolę zmienić właściwość niż atrybut.
Teraz jak to możemy zrobić.
Chciałbym te dane tutaj żeby one były
pobierane stąd czyli powiedzmy to jest nasz wózek.
Ja bym chciał żeby ten znalazł się tutaj jako.
To nie robimy tego w ten sposób nie mamy tam do tekstu
jeśli zmieniamy HTML a to musimy element który chcemy modyfikować
oznaczyć w ten sposób nawiasem kwadratowym.
Jest to bardzo podobne do tego gdybyśmy tutaj po prostu zrobili
walił tak żebyśmy dostawali do środka do obiektu tak to możesz sobie zapamiętać.
I tu teraz jest to nie tekst tylko zmienna
podkreśla nam że nie ma zmiennej treści więc mogę pisać user kropka.
Jeśli tak to zrobię no to powinnam się pojawić tutaj.
Kręcą jak i oczywiście HTML nie działa
więc tu muszę upewnić się że nie ma tu HTML co dalej
tytuł w ten sam sposób możemy ustawić dynamicznie.
First name
it to zostawię taki nie chcemy dynamicznie zmieniać mogę je nawet usunąć.
Na razie data tekst.
No właśnie co z atrybutami.
Nie chcą robić seta Trip odbiera trybut
wysłany do tego też fajny sposób możemy zrobić.
A te 4 kropka
i tutaj wtedy podajemy atrybut i także możemy ustawić dynamicznie i zero forsy.
Możemy też np.
z subskrypcji i subskrypcji i zobaczmy jak to będzie wyglądało.
Czyli tak to jest własność nie atrybut atrybut Times a 4 kropka.
Nazwa trybutu i tutaj wartość.
I pamiętaj o kwadratowych nawiasach
atrybut trolla tak samo musiałbym ustawić to w ten sposób
jeśli byłoby dynamiczne dynamiczne no to nie ma sensu tego robić.
Formularze nie ma sensu tak dominować może już zwykłe atrybuty.
W ten sposób tylko te które mają być
pobierane przez naszego obiektu tylko te kwadratowe zawiasy.
Jeśli jest taka właściwość jeśli tej
właściwości nie ma no to może użyć atrybutów w ten sposób.
Kropka czy mamy Własność Własność atrybut.
Zobaczmy jak to działa.
Jest chłopcem jak i tutaj jeszcze jest import.
Tekst jego wartość jest jak wszystko wygląda dobrze i subskrypcji.
Jak widzisz jest forsę.
Super teraz co jeszcze możemy zrobić.
Powiedzmy że chciałbym ten komunikat na chwilkę ukryć.
Czyli sobie to zrobimy np.
ask about Fox.
Jeśli to jest fałsz chciałbym to ukryć.
Czyli tu wiosną mogę powiedzieć albo atrybut Hidden albo wiem że nie jest
to atrybut że jesteś własność czyli mogę powiedzieć hitem ma być ukryte.
Jeśli ta zmienna nie równa się.
Toż to nie równa się ze prościej po prostu jeśli to jest.
Odwracając forsę na true mogę skorzystać ten sam warunek czyli Ukryty.
Jeśli zmienna ask about NaN nie jest
prawdziwa czyli jeśli jest fałszywa i zobaczmy powinnam to zniknąć.
Zniknęło.
Mam tutaj atrybut Hidden które pamiętasz jest utworzony poprzez własność.
Kiedy
widzisz jest to praktycznie bezpośrednia manipulacja HTML em właściwym drzewem dom.
Model dokumentu DOM tylko nie musimy
szukać elementu po IT i wykonywać operacji tylko angole.
Jak widzisz uruchamiając HTML sam
wprowadza odpowiednie atrybuty własności do odpowiednich elementów HTML.
Jeśli my zmienimy te dane to nam zmieni
także tutaj czyli się zmieni a osoba nas w Polsce
to angole ogóle sam będzie wiedział że ma być widoczny jeśli będziemy mieli.
FOZZ to miał być ukryty ok. .
Czyli wiemy jak zmieniać tekst i jak widać dynamiczny tekst.
Wiemy jak ustawiać atrybuty
i wiemy też jak nie tylko atrybuty zmieniać ale bezpośrednio modyfikować
własności drzewa żeby nasz HTML zmieniał swój wygląd kształt itd.
Czy możemy przekazywać różne parametry.
Możemy ukrywać wartość punktów itd. Ok.
To teraz co możemy zrobić możemy dodać
interakcję z użytkownikiem czyli coś co zmieni dane
w taki sposób żeby nam HTML odpowiednio się zmienił zmodyfikował.
Ale o tym już w kolejnej lekcji tak więc.