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+
Z poprzedniej lekcji udało się zbudować
taki prosty formularz kontaktowy w tej lekcji pokażę ci jeszcze kilka
innych możliwości modułów formularzy oraz pokazać jak uniknąć pewnych takich
typowych błędów które mogą się pojawić pewnych problemów.
Jak można je łatwo rozwiązać.
Czy jeśli spojrzymy sobie na ten nasz powiedzmy formularz to tak
naprawdę to nie do końca jest formularz zaraz pokaże o co chodzi.
Nim to zrobimy to może bowiem tutaj tak
mniejszej funkcję powiedzmy że chciałbym jeszcze móc zresetować.
I nazwy etykiety i jeszcze na reset for powiedzmy w ten sposób.
Może niech to będzie
lepiej widać w utworze funkcję stojącą formularz ja mogę zresetować.
Komentarz że jeśli zmieniam te dane z tej
strony komentarz powinien pojawić się w HTML.
Czy wystarczy że ja tą zmienną kontakt
forum po prostu jeszcze raz napiszę z jakimiś danymi.
I Amber powinien po tej operacji wykryć
zmiany i zaktualizować wszystkie pola żeby zawierały teraz moje nowe informacje.
Zobaczymy jak to zadziała.
Mamy reset i Send message super zmieniam sobie tutaj wpisuje jakieś dane
po zmieniam sobie różne pola i teraz jeśli reset to jak widzisz zmienia
się ten obiekt i formularz w całości wyczyścić.
Nieważne czy prezentujemy formularz
rozkładu i te dane z serwera czy generuje jakieś przykładowe dane to nie ma
znaczenia skąd weźmiemy dane jeśli wystawimy je w to samo miejsce pasują
komuś formularz jest to bardzo fajna rzecz pomogę sobie wrzucić dane się pojawiają
wypełniamy pięknie ładnie cały formularz tylko jedną rzecz.
Jeśli jakiś obiekt to ten formularz go bezpośrednio modyfikuje.
Nie jest to kopia tylko bezpośrednio
buduje czyjś z serwera to powiedzmy być oraz zmodyfikowany wszędzie na całej
stronie mam formularz dysk użytkownika zmieniam imię użytkownika.
To się nie zdziwi jeśli u góry w rogu będzie.
Witaj jesteś delegowany jako i tam się
zaczną zmieniać zmiany i sprawdzać całą stronę.
Zmiany na całym ekranie we wszystkich miejscach.
Dziś ten obiekt jest gdzieś jeszcze użyty
to ta zmiana będzie rozpoznawana po całej stronie.
Spróbujmy zobaczyć ten problem w praktyce
czyli powiedzmy ten dodatkowy tutaj formularz pusty powiedzmy tobie nasz
ograny formularz a tutaj będzie powiedzmy nazwę Morza Original.
Ford czyli oryginalny obiekt i obiekt który aktualnie mamy teraz oba
obiekty wyświetla ku Jackson czyli to będzie oryginalny formularz
i to będzie aż formularz który nad którym pracujemy pobrano dane z serwera
edytować to teraz zobacz coś ciekawego stanie na starcie.
Mamy ten formularz i Reset to powiedzmy Contact for.
To się równa jest oryginał for
more Norfolk czyli ten formularz przypisany w miejsce tego.
Więc te wartości
w HTML u zamiast tych wartości tutaj to zapisze teraz
tutaj widzisz teraz wprowadzą zmianę powiedziałem tylko tutaj jest ok to jest
tylko ten nasz właśnie lokalna kopia oryginał jest bez zmian.
Czy Edyta powiedzmy jakiś obiekt nie chcę oryginału zmieniać dopóki pocisku zapisz.
Dopiero wtedy jeden przycisk anulował bo
resetu to chcę mogę wyrzucić tą kopię lokalną a oryginał zostaje bez zmian.
Działa to dobrze.
Zmiany będzie wprowadzane są tylko w tej naszej kopii.
Zwróćcie uwagę co się stanie kiedy kwitnie
reset reset co zrobił on przepisał właściwie w
dwa miejsca ten sam obiekt czyli formularz.
Poprzez referencje widzisz modyfikuje obie
zmienne że obie zmienne wskazują ten sam obiekt.
Po prostu uważaj żeby do formularza przypisać obiekt który wiesz że możesz
modyfikować nie przepisuje oryginału który gdzieś na stronie występuje bo np.
możesz zobaczyć właśnie jakieś
dziwne niespodziewane efekty kiedy twój formularz po prostu modyfikuje jakieś
obiekty spoza komponentu których nie powinien modyfikować.
Co możemy zrobić tak jak mieliśmy przed chwilą.
Mógł np.
tworzyć kopię za każdym razem czyli mógł
za każdym razem dla bezpieczeństwa tworzyć kopie.
Tylko to jest płytka kopia.
Jeśli będą jakieś powiedzmy obiekty w środku jak zniszczone mają robić kopie
tych obiektów i to zaczyna się strasznie komplikować takie zabezpieczanie się
przed tym żeby przypadkiem nie zmodyfikować jakichś elementów.
Jest to bardzo niewygodne dlatego pokaże się za chwilkę.
Drugą metodę jak możemy troszkę inaczej to zrobić żeby uniknąć takiej sytuacji kiedy
ta zmiana jest rozpraw blokowana za szybko gdzieś do oryginalnych obiektów.
Jak się przed tym zabezpieczyć
to teraz problem z tym że te dane od razu zmieniają obiekt.
Pojawił się tutaj w dużym tych bananów bo one odpowiadają za to że każda zmiana
jest od razu z powrotem wprowadzana oryginalny obiekt.
Użyliśmy ciągle wprowadzać musiałem to
robić na dwie części albo no właśnie pytanie co się stanie
jeśli z tych wszystkich modeli które tu mamy.
Co się stanie jeśli stąd usuwa jeden kierunek po usuwamy sugerowanie zdarzeń.
Jeśli zrobi to w ten sposób to pytanie w
jaki sposób będziemy mogli w takim razie nas zmian.
Skąd byśmy wiedzieli że coś się zmieniło jeśli ja nie dam tych eventów
teraz ciekawy będzie model czy my słuchamy tego eventu czy nie.
To będzie moda i tak śledzić co się dzieje w środku w tych naszych polach import
jest tutaj element powiedzmy pierwsze jest to zwykły import ale my wiemy że tam
zamontowane Młode tez chcemy spadać będzie model.
No to tutaj z samego elementu HTML owego wiele się nie dowiemy
ale fajna rzecz bo mamy takie narzędzie nazywa się w Anglii i Anglii.
To jest zestaw takich pomocniczych metod. Możemy np.
stąd HTML uzyskać komponent z elementu
HTML ale też możemy wydobyć na przykład dyrektywę.
Czyli mogę sobie zbadać ostatnio zaznaczony element dolar zero
tutaj ostatnio zaznaczony element i przekazać go do Anglii i Get Direct this.
I tutaj dostanę zobaczyć tablicę i okazuje się że na tym płocie jest import.
Na tym jednym płocie tam się kryje kilka
różnych obiektów kilka różnych dyrektyw jest model kontra kontrastów i akcesoria.
I zobaczymy tutaj nasz model to okazuje
się że on tutaj przechowuje informacje jakie dane dostał od komponentów skryptu i
co teraz użytkownik widzi na ekranie w tym miejscu.
Jest to też po prostu opcja owalu która też na to wskazuje.
Czy jeśli coś innego
zmienia jak widzisz teraz te zmiany nie są propagowaniem do oryginalnego obiektu.
Ale te zmiany one są w środku przechowywane w tym modelu.
Czy jeśli raz jeszcze zbadamy to zobaczymy tutaj może od razu model sam.
Jak widzisz każdy model śledzi
na bieżąco tutaj pokazuje nam co się dzieje z tym elementem.
Widzimy w środku jaka tam jest wartość.
Mamy też oryginał.
Czy możemy porównać zobaczyć czy pole się zmieniło pod względem oryginału.
Mamy tam też dużo różnych innych
informacji na temat tego pola to jest pytanie.
Wszystko fajnie w krypcie konsoli i jak
się mogę dostać do tego tutaj z poziomu HTML a teraz jak pamiętasz ja mogę ten
element komputer przypisuje sobie do zmiennej czyli powiedzmy mam krew.
Mogę w ten sposób dostać się referencje do tego elementu import a HTML
komentarz do dyrektywy chce mi się dostać jeszcze dyrektywa ma specjalną opcję
eksport a z ustawioną to tutaj mogę wybrać jedną z jej dyrektyw.
To jest jedna dostępna z tych trzech
i wtedy w zmiennej ref nie będzie import tylko będzie model i mogę sobie np.
tutaj zajrzeć do środka i zobaczyć się co kryje się np.
tutaj w Wawie więc zobaczymy.
I teraz widzisz pod spodem mogę sobie wyświetlić.
Czyli mógłby też np. ten numer ew.
przekazać do funkcji Send message
tak było troszkę niewygodne bo każdy element nazwać każdy mógł wyciągnąć
każdy miał przekazać do funkcji Message to znowu będzie to bardzo dużo pracy
ponieważ z poprzedniej lekcji dyrektywy mogą ze sobą także rozmawiać.
Jeśli spojrzymy na ten nasz formularz
bo brakuje jednej bardzo ważnej rzeczy brakuje formularza są to praktycznie
pojedyncze pola import porozrzucane gdzieś w HTML u.
Nie mam tu nigdzie formularza
więc spróbuję tutaj podać formularz go gdzieś zamkniemy w tym miejscu OK
I teraz jeśli utworzy formularz mam dodane moduł formularzy.
To się dzieje ciekawa rzecz.
Mamy błąd.
Jak to się stało dodałem po prostu ramy HTML mamy błąd.
Okazuje się że to nie jest po prostu element HTML.
Okazuje się że akurat tutaj przypisano dyrektywę która nazywa się forum
do każdego formularza na dyrektywę jeśli umieściły nasze modele w formularzu
to teraz po naszym niebie który jest który po prostu widzi 10 różnych impulsów i nie
wie jakie rozróżnić między sobą więc budujemy formularz parowy czy zwykłe.
Dobrą praktyką jest pokazywać pola żeby
nazywało się 0 1 2 3 tylko pola miały własne nazwy.
Czyli pamiętaj że jeśli używasz formularza
z modelami to oprócz tych skrzynek i bananów może w ogóle
pominąć najważniejsze było opóźnianie modelu dodać także nam nazwę.
Jeśli masz jakieś pole które chcesz
wykluczyć z modelu ono nie było uwzględnione w tym formularzu np.
w formularzu tworzenia wydarzenia masz pole wyszukiwania użytkowników to możesz
takie pole wyszukiwania wyłączyć z formularza żeby nam nie przeszkadzało.
Po prostu do każdego z tych pól czyli
takich mamy ten model podam nazwę i dla uproszczenia po prostu
użyj tej samej nazwy którą mamy tutaj w nazwie zmiennej.
Tak będzie troszkę prościej.
Czyli nam ustawia taki sam
czy skoro z ich pól będzie miał nad tym błąd powinien zniknąć.
Super tak to dało.
Mianowicie jeśli zbadamy ten formularz to poszuka.
Zajrzymy znowu do środka Anglii Anglii Get Direct News.
Postaram się zajrzeć do środka i okazuje
się że na tym formularzu są też zamontowane trzy różne dyrektywy.
Pierwsza Dyrektywa engine bar i datę
wyłącza wbudowaną w agencję w przeglądarce.
Przed rokiem nie dawała z naszym kodem
i najciekawsze dla nas rzecz and for testament for mamy ciekawe rzeczy bo mamy
kontrolę formularza ale mamy też tutaj listę kontrolę
i jak zobaczymy sobie na Direct News to Walla zobaczy że te wszystkie dyrektywy
one po prostu mają wskazanie na rodzica to są komunikat dyrektywy.
One po prostu mają wstrząśnięty przez
konstruktor rodzic będzie forum dzięki czemu mógł się komunikować ze sobą.
Czyli te wszystkie nasze korekty będzie modelach się zgłaszają do rodzica.
Dzień dobry jestem panem formularzu Nazywam się name.
Dzięki tym fb już z jednego miejsca z
innego punktu mam dostęp do wszystkich tych pól mogę zacząć je tutaj.
Ale spójrzmy sobie niżej jest kontrola.
Tutaj widzisz po nazwie można coś się do kontroli.
Gdzie mam te wszystkie informacje które mieliśmy wcześniej np.
pole zrobić zablokować odblokować status i jeszcze fajniej.
Mogę zamiast pojedynczych kontroli spójrz
pytanie mogę podać wartość formularza co jest
wartością formularza wartością formularza jest zbiór wszystkich jego pól
gdzie kluczem jest nazwa kontrola i nazwa pola a wartością jest wartość.
Oczywiście to wszystko jest
na bieżąco monitorowane czyli zobacz nasz obiekt jest nietknięte
a ja w każdej chwili mogę sobie pobrać tutaj z naszego forum
naszą aktualną wartość którą użytkownik widzi możemy sprawdzić zrealizować.
Możemy ją wyczyścić.
Czyli tam gdzie ona jest przypisana do zmiennej.
Tutaj zapisze jako zmienną globalną 1 ok
1 pozwalam się dostać do wartości mogę pobrać wartość
mogę też taką wartość w ogóle ustawić sobie set filmu na jakąś inną wartość.
Jak tylko zrobi to enter w formularz mogę sobie postawić wartości
by ten set walił bardzo taki precyzyjny trzeba dokładnie
podać wszystkie pola nie możemy go pominąć jeśli tylko niektóre pola zmienić.
No to do tego też jest metoda.
Nazywa się ona Control form
archiwaliów i to pozwala nam tylko częściowo zmodyfikować niektóre pola.
Nawet możesz mieć jakieś ekstra parametry
nie po prostu pominięto i modyfikuje tylko te pola które są rozpoznane.
Jak widzisz bardzo fajna rzecz pomogę całym formularze wszystkim jego polami
elementami mogę sterować z jednego miejsca.
I teraz pojawi się pytanie jak możemy tego użyć w naszym HTML.
Nasz komponent.
Dokładnie w ten sam sposób jak było to z
modelem chcemy wyciągać pojedyncze modele w ten sam sposób.
Znasz już mechanizm.
Mogę po prostu zrobić sobie
jakieś referencje do formularza nazwę to powiedzmy kontakt
forum i tu mogę uzyskać dostęp do dyrektywy będzie forum kto się skrywa w
środku w tym obiekcie z tą zmienną do całego formularza.
Mógłbym tutaj przekazać np.
do funkcji Send Me S.
Czy zamiast jednego pola całe to.
Ale to jest teraz formularz
więc nie muszę być tutaj przycisku klik tylko mogę ten przycisk zamienić na
pełnoprawny przycisk SAP mit i obsłużyć zdarzenie nie gdzieś tutaj.
Tylko gdzie mam kolizję zmiennej.
Dziś tak samo się nie może nazywać tutaj ta zmienna nie przewidywała stron
więc Alberto Contador krew i tutaj same zdarzenia klik
mogę teraz podpiąć zdarzenie Split tylko czasem jakiś dodatkowy wydatek
jakiejś opcji zrobić to ten form jeśli spojrzymy do środka jeszcze
ma coś takiego jak NGC Summit i kojarzy się już im endemitem.
Coś co możemy sobie zasług spróbować.
Jest to out put
czyli mogę zmienić to na engine Summit który poczeka aż te wszystkie
modele będą zsynchronizowane zrealizowane i wtedy dopiero wykona moją funkcję Send
message i formularz cały formularz mogę teraz przekazać sobie tutaj.
Obiekt mg for i mogę sobie tutaj wyciągnąć
to kupie lokalną która istniała tylko wewnątrz tych
wszystkich dyrektyw będzie potem nasz oryginał jest nietknięte
tylko ta wartość widzisz dopiero wysłałem do niej dostęp gdy ktoś próbuje wysłać
formularz jeśli chce przedwcześnie do tego aby się dostać powiedzmy przed nimi
zastosować formularz no to też możemy to zrobić tylko musimy
najpierw zlokalizować go czyli jak komentarz tutaj możemy zrobić
sobie coś takiego jak filtr podać nazwę
elementu który chcemy tutaj podaje red.
że nie chce odczytać elementu HTML nie obchodzi mnie formularz tylko chcę wydobyć
właśnie obiekt typu NG for dziś ten formularz też np.
jest w NG i się gdzieś tam dynamicznie to możemy też ktoś obcy statek na Folc.
W naszym wypadku domyślne opcje statek
powinny zadziałać by natychmiast od razu jest.
I nawet powiedzmy tak samo typ ustawie taki sam
i teraz tutaj powinniśmy być w stanie kontakt formę jest funkcja reset.
Które mogą ustawić tutaj jakieś wartości
mogę zresetować właśnie nasze oryginalne dane.
Możemy też zresetować do oryginalnej
wartości zobaczmy jak to zadziała reset OK.
Czyli wypełnić formularz.
Oryginalne dane tutaj się nie zmieniają.
Wyślij wiadomość.
Mamy całą strukturę formularza od razu jednym ruchem wyciągniętą natomiast reset.
To już same bóle w czyśćcu czyli jak się czujesz.
No to warto jest przekazać jakieś oryginalne dane
żeby wypełnić tymi oryginalnymi danymi i w ten sposób i jeśli tutaj KLIK reset
to nie respektuje pustych pól tylko przywraca oryginalne wartości.
Co tu jeszcze możemy zrobić. Powiedzmy że nas
troszkę bardziej dynamiczne czyli powiedzmy że dopiero jak wybiorę temat.
Dopiero mogę tutaj wyświetlić ten Message
czyli coś takiego że ten cały nasz element to PIK powiedzmy albo cały formularz.
Mam też dostęp do całego formularza ref. To coś takiego.
Tutaj dodam Księgi I i dopiero jeśli
ktoś powiedzmy wybrał to PIT czyli.
Tam jeszcze może powstać opcja.
Damy sobie z tą opcję i dopiero ktoś wybierze ten temat czyli wywalił Tofik.
Dopiero wtedy chce wyświetlić tutaj element mięsa.
Zobaczymy jak to zadziała tutaj od razu nie musi być na początku pusty.
Jak widzisz nie ma wiadomości jest pusty.
Mam laptopa.
Dopiero jak wybiorę to plik dopiero się pojawi.
Czy gdyby jeszcze struktura naszych danych zajrzał w strukturę formularza
to bardzo ciekawe zjawisko mianowicie tu aż oryginalne pola mają puste miejsce.
Natomiast formularz widzisz nie zawiera message.
Czyli jeśli ja tworzę dodaje nowe pola
to będą zarejestrowane dopiero przy stworzeniu.
Czyli jeśli wybiorę sobie jakiś temat to Mesjasz dopiero się pojawia w tym
miejscu zmienię wpisze jakieś bardzo ważne.
On się pojawia.
I teraz uwaga bo jeśli ja usuną zniszczy ten Message no to uważaj
bo zostanie zniszczony też cały będzie model kontrolera.
Litewskie dane one znajdują się będzie
modelu więc jak wrócę z powrotem to moją ważną wiadomość traciłem.
Jest to zaleta i wada bo jednej strony możesz dynamicznie dodawać pola
bardzo fajnie się same zarejestrują i same się pchają w wynikach.
Z drugiej strony jeśli takie pole do też usunięto no to utraci wszystkie dane.
Tak trzeba też uważać z
czym formularza mi żeby nie niszczyć pola lub te dane gdzieś bezpiecznie przechować
przenieść do komponentu nim będziemy chcieli z nich skorzystać.
Jeszcze jedną rzeczą jest to że Szwed mógłby niektóre pola powiedzmy taki pik
i lecz powiedzmy te dwa pola umieszcza je w dowolnym elemencie.
Komuś to dziwne ale może być to kontener
GTA czy po prostu dowolnym elementem i w tym elemencie tam coś takiego nazywa
się NG model Group to będzie grupa którą powiedzmy nazwę
content to teraz zobaczymy co się stanie z modelem formularza.
Jak widzisz to są oryginalne dane
a formularz teraz uzyskał jeden poziom zagęszczenia
iż możesz nie tylko robić listę pól ale możesz sobie całe takie drzewko ze
zniszczonych elementów zrobić tylko teraz nasze dane.
To wszystko musi odpowiadać tym dane.
Tej strukturze tutaj i nasz mięso w środku zobaczymy gdzie on jest.
Tutaj też musimy to zmienić.
Będzie to kontent.
To pik to muszę to też wpakować w kontent.
No i nasze tutaj Message też struktura się automatycznie zmieni.
Message.
W ten sposób zobaczmy.
I tutaj ciekawy błąd
bo to PIK jest nie definiowany a zobaczmy gdzie w HTML u w linii 229.
I okazuje się że błąd nie jest w
formularzu tylko Bóg wie kiedy się IF nie może dostać się do formularza.
Spróbujmy tutaj zajrzeć jeszcze do środka.
Na razie może to cały mesjasz na chwilkę dokumentuje
i zobaczymy co się dzieje z tym formularze od razu na starcie komponentu
czyli powiedzmy Indianie LiD odwołał się do tez kontaktu for more
Walią i ustalimy co by się zatrzymał w tym miejscu żebyśmy
zobaczyli co tam się dzieje złego w środku dlaczego mamy błąd czyli kontakt form ref
istnieje tylko jest problem zwrócił uwagę że dyrektywy są puste.
I Walią jest pustym obiektem
nasz formularz nie zdążył się jeszcze wędrować.
Pamiętaj że struktura formularza powstanie dopiero po pierwszym dniu.
Te dyrektywy muszą mieć czas na to żeby się utworzyć.
żeby się zarejestrować będzie modelu żeby
pobrać wartości z importu i dopiero może pobrać baraż.
Jest też taki minus dynamicznego budowania
generowania formularzy że potrzebujemy dwóch wędrować na utworzenie się pierwsze
darowanie tworzy formularz i te wszystkie modele w środku.
Dopiero w drugim sprawdzaniu zmian dopiero
możemy się odwołać do tego czy ten limit to jest trochę za szybko.
Ja bym musiał zrobić to w
fazie end after wielki hit czyli jeśli ten widok już jest gotowy stworzony
dopiero wtedy moglibyśmy się odwołać do tych wartości.
Spróbuję zobaczyć teraz jak The Boxer przeniesiemy do.
I nic tu nie puszczę go dalej.
Odświeżyć stronę.
Jesteśmy w strefie LiD tu mamy dyrektywy i mamy wartości.
Czy widzisz trochę różnica
ale bardzo istotna także musimy pozwolić zdążyć się dorobić.
Co z tym FM.
Ten też musi poczekać.
Czy ja muszę sprawdzić na początku czy my mamy w ogóle tutaj Walią
czy mamy może kontent i dopiero wtedy się wspiąć do tego.
Czyli ten znak zapytania sprawdza czy to nie jest ten deficyt jest Andy Fine.
No to cały po prostu zwraca forsę więc w pierwszym lądowaniu nie zadziała.
Czekam aż się to wszystko
dodaje i przy sprawdzaniu zmian wartość ta powinna być już w pierwszej fazie.
Jeśli nie będzie widoczny po tej fazie to
już powinien być widoczny czyli taki właśnie.
Bardzo ważna informacja iż maszynami formularze interchange modele
żeby dać mu tą chwilkę na wygenerowanie się jest kontent pik i trafia się klik.
Tutaj pojawi się Messenger i możemy ten mesjasz siebie zmienić.
Błędu nie ma.
Jest bardziej zaawansowany przypadek jeśli
chcesz faktycznie dynamicznie budować strukturę.
Infrastruktura jest złożona zagrożona przeważnie może nie będziesz potrzebować
aż tak różnych formularzy więc pomiędzy poprzednią lekcją czy
początek lekcji to wystarczy na większość przypadków.
Tu jest pokazałam także kilka bardzo
zaawansowanych rzeczy które mogą wystąpić w projekcie no to będziesz też wiedzieć
jak tego typu problemy rozwiązać jak wybrnąć z tej sytuacji.
Jak widzisz mieć bardzo fajną możliwość sterowania manipulowania formularze.
Jeśli tych opcji zapasowej nie
potrzebujesz i tak samo jak widzisz jest bardzo fajnie pozwala ci
bardzo szybko zbudować strukturę formularza podpiąć się do niej wyciągnąć
aktualną wartość poprzez klik lub dostać się poprzez.
I wszystko wszystko jest automatycznie sterowane zwane za ciebie nie musisz już
pisać tych wszystkich eventów samemu ręcznie.