Usiadłam rano do projektu, odpalam nowy widok i co widzę? Błąd: "TypeError: Cannot read property 'TableBoardGameList' of undefined" Kod widoku, w którym się sypie: Zajęło mi chwilę rozwiązanie tej zagadki. Debuggowałam kilka razy, wyraźnie widziałam, że obiekt gameTable nie jest pusty, a mimo to nadal miałam błąd. Jakie było rozwiązanie? Wystarczyła tylko jedna linijka 🙂 Najpierw… Czytaj dalej Poranne problemy z Angularem
Kategoria: Angular
BoardGamesNook: moduł gier planszowych
Mogę się już pochwalić kilkoma screenami z modułu do zarządzania grami planszowymi. Wszelkie wyświetlane informacje są pobierane z serwisu BoardGameGeek, z którym zrobiłam integrację (o tym pisałam już wcześniej). Standardowo zaczynamy od listy dostępnych gier z dwoma przykładowymi: Po kliknięciu na nazwę gry możemy zobaczyć jej miniaturę: Po kliknięciu na Szczegóły przechodzimy do informacji, która… Czytaj dalej BoardGamesNook: moduł gier planszowych
POST, pojedynczy parametr i Angular
Próbowałam ostatnio przekazać postem pojedynczy parametr do kontrolera. Miał to być zwykły napis przechowujący informacje na temat nazwy gry, którą chcemy zaimportować z serwisu BoardGameGeek. Metoda w moim kontrolerze wyglądała następująco: Od strony frontentu próbowałam kilka podejść: przekazać nazwę jako zwykły string w body requestu: Niestety po stronie kontrolera parametr name był nullem. Sprawdziłam debuggerem,… Czytaj dalej POST, pojedynczy parametr i Angular
Obsługa błędów
Zabrałam się do pracy nad aplikacją i nagle zobaczyłam, że dodawanie nowej gry nie działa poprawnie - a raczej nie działa w ogóle. Wszystko pięknie, naprawi się w przyszłości, ale czemu nie mam żadnej informacji po stronie klienta, że coś poszło nie tak? Musiałam zabrać się więc za obsługę błędów. Załóżmy kilka przypadków błędów po stronie serwera:… Czytaj dalej Obsługa błędów
Poranna kawa i przygody z TypeScript
Śniadanie zjedzone, Kawa gotowa - zabieram się do pracy. Na początek coś prostego, czyli utworzenie pliku BoardGame.ts dla nowego modelu BoardGame. Model zawiera pewne opcjonalne właściwości np. BGGId (Id pochodzące z serwisu BoardGameGeek, z którym zamierzam zrobić integrację). Nagle Resharper zgłasza problem: TypeScript 2.0 feature. Current language level is 1.8 I tu się zaczynają schody. Wg VS mam… Czytaj dalej Poranna kawa i przygody z TypeScript
Podsumowanie konferencji 4developers 2017
Pierwszy raz wybrałam się na ogólnopolską konferencję programistyczną inną niż Wroc#. Wroc# 2016 i Wroc# 2017 były wg mnie bardzo dobrze zorganizowane. Zarówno część wykładów jak i sama organizacja rejestracji/posiłków/atrakcji była na wysokim poziomie. Myślałam więc, że na jeszcze większej konferencji w tak dużym mieście jakim jest stolica, ten poziom będzie jeszcze wyższy. Niestety przeliczyłam… Czytaj dalej Podsumowanie konferencji 4developers 2017
CRUD w Angularze
Moja aplikacja BoardGamesNook jest napisana w C#, korzysta ze wzorca MVC i wykorzystuje framework Angular. Oznacza to, że jest rozdzielona na stronę backendową (logika biznesowa w C#) i frontendową (odpowiedzialną za wyświetlanie danych użytkownikowi). Poniżej widać drzewo solucji głównego projektu. Folder src zawiera pliki typescryptowe do obsługi żądań i htmlowe do wyświetlania danych. Utworzony w backendzie przykładowy model… Czytaj dalej CRUD w Angularze
Pierwsze screeny BoardGamesNook
Wreszcie coś działa i mogę się tym pochwalić! Dla pierwszego obiektu, którym jest Gamer, utworzyłam wszystkie metody CRUD (czyli z angielskiego Create, Read, Update i Delete). Te podstawowe metody pozwalają na utworzenie, pobranie, aktualizację i usunięcie obiektu. Po uruchomieniu aplikacji widzimy pustą stronę z 2 opcjami: BoardGamesNook oraz GamerList. Menu logowania po prawej stronie na razie… Czytaj dalej Pierwsze screeny BoardGamesNook
Pierwsze wyniki
Po długiej i nierównej walce konfiguracji Angulara można stwierdzić, że wygrałam. Nie osiągnęłabym tego bez nieocenionego Patryka (również bierze udział w DSP), który przez kilka godzin walczył ze mną ramię w ramię (czy bardziej klawiatura w klawiaturę). Po całodniowej walce odeszłam od komputera koło godziny 22. To bardzo długo jak na mnie (zwykle mózg odmawia… Czytaj dalej Pierwsze wyniki
Angular 2.0, czyli jak to ugryźć
Raczkowanie w Angularze 2.0