Laboratorium 10 – Angular 2
Transkrypt
Laboratorium 10 – Angular 2
Laboratorium 10 – Angular 2 Zadanie 1 – Hello World w Angular 2 Utworzyć projekt w Angular 2 wyświetlający w przeglądarce napis „Hello World”. Warto wykorzystać: • https://angular.io/docs/ts/latest/quickstart.html – oryginalny tutorial • http://icis.pcz.pl/~rperlinski/?m=a2 – po polsku, dużo mniej czytania Następnie proszę pozmieniać domyślne nazwy na poniższe (m.in. w pliku systemjs.config.js): • helloApp – nazwa pakietu z głównym komponentem naszej aplikacji, • fApp – folder, w którym będzie nasz główny komponent, nasza aplikacja, • hello.component.ts – nazwa modułu z głównym komponentem naszej aplikacji, • HelloComponent – nazwa naszego komponentu, • <hello> – nazwa znacznika w szablonie naszego komponentu. No i niech zamiast „Hello World” coś innego się wyświetla. Takie różne nazwy, żeby dokładnie zrozumieć, jak wczytywane są komponenty, importowane moduły, jak jest uruchamiana aplikacja. To ważne. Zadanie 2 Utworzyć klasę Student zawierającą trzy atrybuty: imie, nazwisko, ocena. Zależnie od uzyskanej oceny (mniej lub przynajmniej 3.0) na stronie wyświetla się odpowiedni opis: Student Marek Nowak nie ma zaliczenia z przedmiotu Web 2.0. Student Marek Nowak ma zaliczenie z przedmiotu Web 2.0. Uzyskana ocena: 4.5. Ocena pojawia się tylko w wypadku uzyskana zaliczenia. Wykorzystać ngIf, operator warunkowy i odwrotny apostrof (`). Zadanie 3 – ngFor, ngIf Tworzymy tablicę kilku studentów, np. ośmiu: {imie:"Konrad", nazwisko:"G.", ocena:3.0}, {imie:"Krzysztof", nazwisko:"J.", ocena:5.0}, {imie:"Agnieszka", nazwisko:"Z.", ocena:4.5}, {imie:"Oskar", nazwisko:"M.", ocena:2.0}, … Wyświetlamy listę studentów. Studenci z oceną mniejszą niż 3 powinni być wyróżnieni. Po kliknięciu studenta na liście powinna być możliwość zmiany jego oceny. Przykład: Zadanie 4 – dwa niezależne komponenty Proszę utworzyć drugi komponent HelloComponent wyświetlający „Hello World” i wyświetlić go na stronie korzystając z innego znacznika z nim skojarzonego, np.: <body> <hello>Wczytywanie...</hello> <student>Wczytywanie...</student> </body> W main.ts wywołujemy dwa niezależne komponenty. Zadanie 5 – dwa zależne komponenty Tworzymy komponent WorldComponent, który będzie wykorzystany w HelloComponent. Strona wyświetla HelloComponent, a ten wyświetla WorldComponent. W komponencie HelloComponent importujemy moduł z komponentem WorldComponent. W szablonie wykorzystujemy odpowiedni znacznik. Informujemy też Angular, że mamy nową dyrektywę poprzez tablicę directives zawierającą nazwę komponentu ze zgłaszaną nową dyrektywą: @Component({ selector: 'hello-comp', template: ` <h2>Hello komponent</h2> <world-comp>Wczytywanie...</world-comp> `, directives: [WorldComponent] }) Zadanie 6 – dwa zależne komponenty przekazujące sobie dane Można skorzystać z: https://angular.io/docs/ts/latest/tutorial/toh-pt3.html Podzielić komponent wyświetlający studentów i pozwalający zmieniać im oceny na dwa osobne komponenty, np.: StudentsComponent i StudentDetailsComponent. Lista studentów zostaje w tym samym, nadrzędnym komponencie, a szczegóły informacji o studencie i zmianę jego oceny proszę przenieść do komponentu podrzędnego.