1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Seminar] [Javascript okviri: Zašto i kako] 2 00:00:02,000 --> 00:00:04,000 [Kevin Schmid] [Sveučilište Harvard] 3 00:00:04,000 --> 00:00:06,960 [Ovo je CS50.] [CS50.TV] 4 00:00:06,960 --> 00:00:10,630 >> Pozdrav, svima. Dobrodošli na seminaru JavaScript okvire. 5 00:00:10,630 --> 00:00:14,910 Moje ime je Kevin, a danas ću se govori o JavaScripta okvirima, 6 00:00:14,910 --> 00:00:20,400 , a cilj ovog seminara je da te ne bi, recimo, svladati određeni okvir po sebi 7 00:00:20,400 --> 00:00:23,810 ali da vam široki uvod u nekoliko okvira 8 00:00:23,810 --> 00:00:27,150 i pokazati zašto smo ikada željeli koristiti okvir. 9 00:00:27,150 --> 00:00:31,060 >> Prije nego što sam to učiniti, ja ću dati malo pozadinu u JavaScriptu, 10 00:00:31,060 --> 00:00:33,750 , a onda ćemo ga odvesti od tamo. 11 00:00:33,750 --> 00:00:36,270 Mi ćemo započeti provedbu do-do listu. 12 00:00:36,270 --> 00:00:39,330 Evo našeg popisa zadataka za danas. 13 00:00:39,330 --> 00:00:41,990 To je vrsta smiješno. Moramo provesti popisa obveza u JavaScriptu. 14 00:00:41,990 --> 00:00:45,110 To je ono što će izgledati, tako da je naš prvi cilj. 15 00:00:45,110 --> 00:00:47,160 Nećemo koristiti okvir za to. 16 00:00:47,160 --> 00:00:51,930 Idemo kod JavaScripta i dobiti popis obveza na posao. 17 00:00:51,930 --> 00:00:54,370 Onda ćemo poboljšati dizajn bez okvira. 18 00:00:54,370 --> 00:00:57,190 Idemo raspravljati o raznim stvarima koje možemo učiniti sa samo JavaScript sama 19 00:00:57,190 --> 00:01:00,650 kako bi naši to-do liste malo više dobro osmišljen. 20 00:01:00,650 --> 00:01:02,490 Onda ćemo baciti u nekim jQuery, 21 00:01:02,490 --> 00:01:05,030 a onda ćemo gledati na isto to-do liste, 22 00:01:05,030 --> 00:01:07,170 Samo provodi u različitim okvirima, a mi ćemo raspravljati 23 00:01:07,170 --> 00:01:09,280  pro i kontra na putu. 24 00:01:09,280 --> 00:01:12,040 >> Počnimo provedbi kako to-do liste. 25 00:01:12,040 --> 00:01:14,270 Recimo da si dao ovaj HTML. 26 00:01:14,270 --> 00:01:16,620 Ja ću napraviti ovaj malo manji. 27 00:01:16,620 --> 00:01:19,300 Kao što možete vidjeti, ja imam malo glavom koji kaže todo 28 00:01:19,300 --> 00:01:21,740 a mali okvir u kojem mogu unijeti opis popisu obveza 29 00:01:21,740 --> 00:01:26,990 a zatim novi gumb stavke, tako da ćemo pokušati unijeti novi todo na ovom popisu. 30 00:01:26,990 --> 00:01:31,000 Daj seminar JavaScript okvire, 31 00:01:31,000 --> 00:01:33,090 i ja sam pogoditi nove stavke. 32 00:01:33,090 --> 00:01:35,730 Ja se tu JavaScript upozorenje koje kaže mi provedbu. 33 00:01:35,730 --> 00:01:37,560 Moramo ga provesti. 34 00:01:37,560 --> 00:01:41,490 Idemo provjeriti kod za to, i HTML i JavaScript. 35 00:01:41,490 --> 00:01:43,260 Evo našeg HTML. 36 00:01:43,260 --> 00:01:45,500 Kao što možete vidjeti ovdje, ovdje je naš mali Todos header. 37 00:01:45,500 --> 00:01:47,620 To je stvar da je podebljano na vrhu, 38 00:01:47,620 --> 00:01:50,690 a onda imamo ulazni okvir s rezerviranog mjesta, 39 00:01:50,690 --> 00:01:59,460 i onda postoji određeni atribut ove gumb koji poziva ovu funkciju addTodo. 40 00:01:59,460 --> 00:02:05,460 Želite li itko pogoditi što je to na klik se označava? 41 00:02:05,460 --> 00:02:07,390 [Studentski nečujno odgovora] 42 00:02:07,390 --> 00:02:09,289 Dobro, na klik je vrsta od poput nekog događaja, 43 00:02:09,289 --> 00:02:12,120 kao klikom miša je samo događaj, i što radimo 44 00:02:12,120 --> 00:02:16,890 mi smo se vezali slučaju da kliknete na gumb za izvršavanje te funkcije. 45 00:02:16,890 --> 00:02:21,700 AddTodo je ovaj događaj rukovatelj za kliknete na taj gumb. 46 00:02:21,700 --> 00:02:25,010 >> Kao što možete vidjeti, kad sam pritisnite gumb nove stavke 47 00:02:25,010 --> 00:02:29,940 klik na event dobiva otkaz, a ova funkcija dobiva zove. 48 00:02:29,940 --> 00:02:33,170 Pogledajmo funkciju. 49 00:02:33,170 --> 00:02:36,260 Kao što možete vidjeti, ovdje je moj JavaScript kôd dosad. 50 00:02:36,260 --> 00:02:41,280 Ono što ja imam na vrhu je globalna struktura podataka za moju to-do liste. 51 00:02:41,280 --> 00:02:44,060 To izgleda kao niz. To je samo prazna polja. 52 00:02:44,060 --> 00:02:47,100 I tada sam addTodo funkciju koja smo ranije vidjeli, 53 00:02:47,100 --> 00:02:50,740 i jedini redak koda u je ovo upozorenje. 54 00:02:50,740 --> 00:02:55,730 Ona upozorava me provesti, a onda imam 2 zadatke pri ruci. 55 00:02:55,730 --> 00:02:58,790 Moram dodati todo na tu globalnu strukturu podataka, 56 00:02:58,790 --> 00:03:01,860 i onda želim izvući na to-do list. 57 00:03:01,860 --> 00:03:06,360 Ništa previše fancy samo još, ali JavaScript vi svibanj biti upoznati s, 58 00:03:06,360 --> 00:03:12,370 pa ću ići sporo i pregled osnove JavaScripta tom putu. 59 00:03:12,370 --> 00:03:15,490 >> Dajmo ovo metak. 60 00:03:15,490 --> 00:03:21,130 Recimo da korisnik unese nešto u tom okviru. 61 00:03:21,130 --> 00:03:23,360 Upravo sam upisali nešto u ovdje, tekst. 62 00:03:23,360 --> 00:03:27,620 Kako mogu sortirati na pristup koji kroz tekst JavaScript? 63 00:03:27,620 --> 00:03:32,500 Ne zaboravite da JavaScript, jedna od njegovih temeljnih značajki je da nam daje 64 00:03:32,500 --> 00:03:34,670 To programsko pristup DOM. 65 00:03:34,670 --> 00:03:40,670 To nam omogućuje pristup elemente i njihova svojstva ovog stvarne HTML. 66 00:03:40,670 --> 00:03:43,430 Način na koji smo to učiniti s golim kostima JavaScript 67 00:03:43,430 --> 00:03:51,360 je zapravo možemo koristiti funkciju u JavaScriptu zove getElementByID. 68 00:03:51,360 --> 00:03:55,140 Želim pohraniti tekst koji je unesen tamo u nekoj varijabli, 69 00:03:55,140 --> 00:03:58,350 pa ću reći novu varijablu nazvanu new_todo, 70 00:03:58,350 --> 00:04:01,980 i ja ću dobiti taj element. 71 00:04:01,980 --> 00:04:06,330 Ova je funkcija,. GetElementByID. 72 00:04:06,330 --> 00:04:11,580 I sad ja dobivam element po ID, tako da trebam ID tog tekstualnog okvira, 73 00:04:11,580 --> 00:04:15,860 pa sam mu dao osobnu new_todo_description. 74 00:04:15,860 --> 00:04:18,399 Tako ću dobiti element. 75 00:04:18,399 --> 00:04:23,880 To je moj argument za tu funkciju, da odredite što ID doći. 76 00:04:23,880 --> 00:04:28,110 I to je element u HTML-u, a ima svojstva. 77 00:04:28,110 --> 00:04:30,650 Vidjeli ste to. Oni su atributi. 78 00:04:30,650 --> 00:04:37,090 Atribut teksta elementa koji pohranjuje korisnikov unos naziva vrijednost. 79 00:04:37,090 --> 00:04:40,860 Spasio sam vrijednost tog tekstualnog okvira sada, u ovom varijablu pod nazivom new_todo. 80 00:04:40,860 --> 00:04:45,040 Sada imam programski pristup ovom varijablu, što je vrsta cool 81 00:04:45,040 --> 00:04:49,200 jer sada ono što ja mogu učiniti je da možete ga dodati na moj do-do listu. 82 00:04:49,200 --> 00:04:52,870 >> Način na koji ćemo to učiniti u JavaScript-i ne brinite ako niste upoznati s ovim, 83 00:04:52,870 --> 00:04:57,010 ali samo prolazi kroz njega je todos.push 84 00:04:57,010 --> 00:05:00,130 jer to je ime moje globalne strukture podataka ovdje, 85 00:05:00,130 --> 00:05:04,450 i ja ću gurnuti new_todo. 86 00:05:04,450 --> 00:05:09,120 To je super jer sad sam ga dodao u moj JavaScript 87 00:05:09,120 --> 00:05:11,280 zastupljenost da to-do list. 88 00:05:11,280 --> 00:05:15,170 Ali sad kako sam ga dobiti natrag u HTML? 89 00:05:15,170 --> 00:05:18,560 Moram pronaći način kako bi se riješili da ga gurnuti natrag. 90 00:05:18,560 --> 00:05:21,830 Drugim riječima, nekako sam se izvući to. 91 00:05:21,830 --> 00:05:26,060 Ono što ćemo učiniti je da ćemo povući popisa obveza. 92 00:05:26,060 --> 00:05:29,270 Trebam li ažurirati druge HTML na toj stranici, 93 00:05:29,270 --> 00:05:32,040 , a kao što možete vidjeti, ja sam napustio ovaj mali kontejner ovdje, 94 00:05:32,040 --> 00:05:36,840 to djelilo od stranice čiji je ID todos, 95 00:05:36,840 --> 00:05:40,870 i ja ću staviti popisa obveza postoji. 96 00:05:40,870 --> 00:05:47,240 Prvo ću ga rasprodati, jer, kažu, bilo je stara to-do list ima. 97 00:05:47,240 --> 00:05:49,560 Ja sam dobivanje tog elementa prema ID opet, 98 00:05:49,560 --> 00:05:54,530 a ja sam pristup unutarnji HTML tog elementa, 99 00:05:54,530 --> 00:05:58,010 i ja ću to potvrditi. 100 00:05:58,010 --> 00:06:05,510 Ako smo napustili ovaj kod kao što je to, mi bismo vidjeti praznu ništa pri 101 00:06:05,510 --> 00:06:10,410 a sada želim početi renderiranje moj novi popisa obveza. 102 00:06:10,410 --> 00:06:12,870 Ja zapravo idem da izbrišu moj do-do listu. 103 00:06:12,870 --> 00:06:18,180 >> Sada unutarnje HTML unutar tog todos div je potpuno jasna, 104 00:06:18,180 --> 00:06:20,060 i sad trebam početi dodavanjem moj popis. 105 00:06:20,060 --> 00:06:23,890 Prva stvar koju želim dodati leđa je neuređen popis oznaka, 106 00:06:23,890 --> 00:06:33,890 koji u osnovi označava da je ovo početak jedne neuređen popisu. 107 00:06:33,890 --> 00:06:39,770 Sada za svaki element u mom todos niz želim isprintati unutar tog HTML. 108 00:06:39,770 --> 00:06:43,710 Želim ga dodati na dnu tog popisa. 109 00:06:43,710 --> 00:06:49,040 Baš kao u C, ja mogu koristiti za petlje, i ja ću početi početkom mom popisu 110 00:06:49,040 --> 00:06:54,140 elementa na 0, a ja ću ići sve do duljine popisa. 111 00:06:54,140 --> 00:07:01,100 Mi zapravo može dobiti duljinu niza u JavaScriptu koristeći duljina imovine. 112 00:07:01,100 --> 00:07:03,420 Uglavnom ja ću učiniti nešto vrlo slično unutar ovog 113 00:07:03,420 --> 00:07:05,600 ispisati iz tog elementa. 114 00:07:05,600 --> 00:07:12,970 Ja ponovno mogu pristupiti todos DIV, unutarnje HTML vlasništvo, da je 115 00:07:12,970 --> 00:07:17,560 a ja ću dodati na ovu novu stavku popisa, te da će biti okružen 116 00:07:17,560 --> 00:07:25,390 ovo Li tag, a ja idem da spojite s + operatora, 117 00:07:25,390 --> 00:07:28,040 i da je i-ti element polja mom todos, 118 00:07:28,040 --> 00:07:32,380 a onda ću zatvoriti tu oznaku. 119 00:07:32,380 --> 00:07:36,240 Sada za svaki element ćemo dodati novi zapis popisa. 120 00:07:36,240 --> 00:07:48,700 I onda sve što stvarno trebate učiniti je zatvoriti tu oznaku. 121 00:07:48,700 --> 00:07:52,820 Samo mi treba zatvoriti kako neuređen popis oznaku. 122 00:07:52,820 --> 00:07:55,490 >> Da li dobiti osjećaj za kako se to radi? 123 00:07:55,490 --> 00:07:57,700 To otvara cijeli popis. 124 00:07:57,700 --> 00:08:01,080 To dodaje pojedinačne elemente iz todos popisa do popisa, 125 00:08:01,080 --> 00:08:05,470 a zatim da zatvara cijeli popis, i to je moj addTodo funkciju. 126 00:08:05,470 --> 00:08:09,590 Ja zapravo početi dobivanje todo iz tekstualnog okvira. 127 00:08:09,590 --> 00:08:18,950 I dodati da je u Todos niz, a onda sam ponovno donijeti popisa obveza. 128 00:08:18,950 --> 00:08:21,520 Sada mogu dodavati stavke na moj popis. 129 00:08:21,520 --> 00:08:24,620 To je uzbudljivo, jer u samo nekoliko linija koda 130 00:08:24,620 --> 00:08:28,240 smo u osnovi ste napravili za napraviti popis gdje možemo dodati stavke. 131 00:08:28,240 --> 00:08:30,050 Sjajno. 132 00:08:30,050 --> 00:08:34,480 To je vrsta osnovni uvod u JavaScriptu. 133 00:08:34,480 --> 00:08:36,179 Ne brinite previše o sintaksi za sada, 134 00:08:36,179 --> 00:08:38,130 , ali mislim o tome konceptualno. 135 00:08:38,130 --> 00:08:40,539 Imali smo neke HTML-a. 136 00:08:40,539 --> 00:08:45,310 Mi smo imali tekstualni okvir na stranici da je u osnovi dozvoljeno korisnik za unos to-do stavku za dodati. 137 00:08:45,310 --> 00:08:49,210 I onda smo se da će postići cijenu JavaScript da todo iz tog tekstualnog okvira. 138 00:08:49,210 --> 00:08:52,830 Mi pohranjeni kako unutar JavaScript niz, što je u osnovi kao 139 00:08:52,830 --> 00:08:56,010 Naša programska zastupljenost da to-do liste, 140 00:08:56,010 --> 00:08:59,060 i onda smo ga isprintati. 141 00:08:59,060 --> 00:09:02,690 Ovo je todos.js. 142 00:09:02,690 --> 00:09:07,620 >> To je vrsta cool, ali kako možemo uzeti ovo dalje? 143 00:09:07,620 --> 00:09:11,350 Pa, kao što možete vidjeti, to nije kao što je kompletan popis obveza. 144 00:09:11,350 --> 00:09:15,100 Na primjer, ja ne mogu označiti bilo koji od tih predmeta su nepotpuni, 145 00:09:15,100 --> 00:09:19,920 kao i ako sam htjela reprioritize stavki ili brisati stavke. 146 00:09:19,920 --> 00:09:23,150 To je u redu, ali možemo uzeti još. 147 00:09:23,150 --> 00:09:29,280 Neću puno govoriti o dodavanju dodatnih značajki, 148 00:09:29,280 --> 00:09:32,800 ali smo mogli uzeti i dalje. 149 00:09:32,800 --> 00:09:35,970 Pričajmo o dodavanju još jednu značajku za to-do lista, 150 00:09:35,970 --> 00:09:40,370 koja će biti u mogućnosti da provjerite pojedinca to-do stavke 151 00:09:40,370 --> 00:09:44,780 a to su prekriženi, tako da u osnovi govori sam to učinio. 152 00:09:44,780 --> 00:09:50,240 Pogledajmo neke koda koji bi mogao ostvariti taj. 153 00:09:50,240 --> 00:09:52,740 Obavijest ono što sam učinio, na vrhu je sam dodao 154 00:09:52,740 --> 00:09:57,620 Nova globalna niz naziva kompletna. 155 00:09:57,620 --> 00:10:02,890 Ja sam u osnovi koristeći ovaj za pohranu li ti predmeti na to-do liste 156 00:10:02,890 --> 00:10:06,560 potpuni ili ne. 157 00:10:06,560 --> 00:10:08,470 To je jedan način da to učinite. 158 00:10:08,470 --> 00:10:13,750 Ako sam pogled na provedbi ove, prikaza, 159 00:10:13,750 --> 00:10:21,120 Uglavnom, ako sam unijeti todo i ja pritisnite ovu sklopku 160 00:10:21,120 --> 00:10:25,040 ona prelazi van, tako da je svaki predmet na ovom popisu ima ili potpuni 161 00:10:25,040 --> 00:10:31,050 ili nepotpune stanje, a ja koristim još jedan niz predstavljati to. 162 00:10:31,050 --> 00:10:33,730 >> Uglavnom za svaki popisu obveza u tom polju todos 163 00:10:33,730 --> 00:10:37,110 postoji stavka u potpunoj niz koji u osnovi ukazuje 164 00:10:37,110 --> 00:10:39,060 bilo da je potpuna ili ne. 165 00:10:39,060 --> 00:10:41,640 Morao sam napraviti prilično minimalne promjene na ovoj koda, 166 00:10:41,640 --> 00:10:44,470 pa evo naša addTodo funkciju. 167 00:10:44,470 --> 00:10:48,530 Uočite da ovdje sam ga gura na polju, 168 00:10:48,530 --> 00:10:51,300 a onda sam gurao 0 do potpunog tom polju, 169 00:10:51,300 --> 00:10:57,090 osnovi paralelno s tim novim TODO pritiskom da kaže 170 00:10:57,090 --> 00:11:00,430 Ja sam dodao ovu stavku, a to je povezano s tom vrijednosti, 171 00:11:00,430 --> 00:11:02,810 što znači da je nepotpuna. 172 00:11:02,810 --> 00:11:04,970 A onda sam se prekrajanjem to-do listu. 173 00:11:04,970 --> 00:11:09,220 Sada, primijetit sam dodao ovu drawTodoList funkciju. 174 00:11:09,220 --> 00:11:11,760 To traje puno koda smo imali prije, 175 00:11:11,760 --> 00:11:15,320 osnovi briše iz okvira, a zatim skreće novi popis obveza. 176 00:11:15,320 --> 00:11:19,620 Ali primijetite da je unutar ove for petlje radimo malo više sada. 177 00:11:19,620 --> 00:11:25,000 Mi smo u osnovi Provjeravamo je li predmet odgovara na popisu obveza-tog ovdje 178 00:11:25,000 --> 00:11:30,220 je završena, a mi smo ponašaju različito u ove dvije okolnosti. 179 00:11:30,220 --> 00:11:32,790 Ako je kompletan, mi dodajemo ovu del oznaku, 180 00:11:32,790 --> 00:11:35,360 koja je u osnovi način na koji možete dobiti taj štrajk kroz snagu 181 00:11:35,360 --> 00:11:38,190 prijelaz iz popisa obveza, ako je to kompletan, 182 00:11:38,190 --> 00:11:42,200 a ako to nije, mi ne uvrstivši ga. 183 00:11:42,200 --> 00:11:45,030 I tako ta vrsta vodi brigu o tome, 184 00:11:45,030 --> 00:11:49,140 >> i to je jedan od načina da to postigne. 185 00:11:49,140 --> 00:11:53,420 A onda primijetiti kada korisnik klikne na jedan od tih 186 00:11:53,420 --> 00:11:56,780 smo prebacivali završetka status njega. 187 00:11:56,780 --> 00:12:02,170 Kada korisnik klikne, mi ćemo preokrenuti bilo da je završena ili ne, 188 00:12:02,170 --> 00:12:04,540 , a onda ćemo ga ponovno iscrtavanje. 189 00:12:04,540 --> 00:12:06,190 Ova vrsta radova. 190 00:12:06,190 --> 00:12:09,860 Imamo tim funkcijama koje obavljaju svoje zadatke, 191 00:12:09,860 --> 00:12:11,730 i to je u redu. 192 00:12:11,730 --> 00:12:14,110 Ima li nešto što bismo mogli učiniti bolje o tome, je li? 193 00:12:14,110 --> 00:12:18,700 Obavijest imamo ove dvije globalne polja. 194 00:12:18,700 --> 00:12:23,550 Ako je to bilo C, a imali smo dva polja koja vrsta zastupljene 195 00:12:23,550 --> 00:12:25,800 Podaci koje je svojevrsni odnose na neki način 196 00:12:25,800 --> 00:12:30,140 što bi mi koristimo u C kombinirati ove dvije polja 197 00:12:30,140 --> 00:12:35,420 u nešto što oblaže oba komada informacija? 198 00:12:35,420 --> 00:12:37,600 Svatko želi napraviti prijedlog? 199 00:12:37,600 --> 00:12:39,450 [Studentski nečujno odgovora] 200 00:12:39,450 --> 00:12:42,340 >> Točno, tako da smo mogli koristiti nekakav struct, 201 00:12:42,340 --> 00:12:44,960 a ako mislite natrag, kažu, pset 3, 202 00:12:44,960 --> 00:12:47,350 sjećam da smo imali rječnika, a onda smo imali li riječ 203 00:12:47,350 --> 00:12:50,230 bio u rječniku, a sve informacije koje je sastavila 204 00:12:50,230 --> 00:12:52,420 unutar neke strukture podataka. 205 00:12:52,420 --> 00:12:56,390 Jedna stvar koju mogu učiniti s ovim kodom kako bi se izbjeglo da ta dva različita polja 206 00:12:56,390 --> 00:13:01,760 za slične komada informacija je da ih mogu kombinirati u JavaScript objekta. 207 00:13:01,760 --> 00:13:07,150 Uzmimo pogled na to. 208 00:13:07,150 --> 00:13:11,740 Obavijest Ja imam samo jedan niz na vrhu sada 209 00:13:11,740 --> 00:13:17,650 i ono što sam učinio je i ovo samo JavaScript Sintaksa vrsta 210 00:13:17,650 --> 00:13:21,350 stvaranja doslovni verziju objekta, 211 00:13:21,350 --> 00:13:24,670 i primijetiti postoje dvije osobine, tako da imamo todo, 212 00:13:24,670 --> 00:13:29,660 i to je zadržao zajedno sa bilo da je potpuna ili nepotpuna. 213 00:13:29,660 --> 00:13:31,000 To je vrlo sličan broj. 214 00:13:31,000 --> 00:13:35,310 Mi smo pomoću JavaScripta objekte. 215 00:13:35,310 --> 00:13:38,600 Ova vrsta poboljšava stvari. 216 00:13:38,600 --> 00:13:43,850 Kao i sada, svih ovih područja povezanih informacija drže zajedno. 217 00:13:43,850 --> 00:13:46,410 Kad idemo na isprintati, možemo pristupiti polja. 218 00:13:46,410 --> 00:13:49,060 >> Obavijest o tome kako radimo Todos [i]. Potpuni 219 00:13:49,060 --> 00:13:52,880 umjesto da provjere kompletnu lepezu odvojeno, 220 00:13:52,880 --> 00:13:56,560 i primjetiti kada želimo dobiti za napraviti niz smo dobivanje do-do imovine 221 00:13:56,560 --> 00:13:58,750 tog popisu obveza, tako da je ova vrsta ima smisla, jer 222 00:13:58,750 --> 00:14:01,660 svaki predmet ima ove prirođena svojstva o tome. 223 00:14:01,660 --> 00:14:05,650 Ima todo, a to je da li je potpun ili ne. 224 00:14:05,650 --> 00:14:11,540 Ne previše promjena ima funkcionalno, samo dodao još malo na kodu. 225 00:14:11,540 --> 00:14:13,430 To je poboljšanje u odnosu na nekim bojištima, zar ne? 226 00:14:13,430 --> 00:14:16,030 Mislim, mi uzete iz dizajnu malo. 227 00:14:16,030 --> 00:14:20,350 Sada imamo objekte kako bi ukratko opisali osnovi tih podataka. 228 00:14:20,350 --> 00:14:27,130 Ima li što bismo mogli napraviti od ovog u smislu JavaScript? 229 00:14:27,130 --> 00:14:31,810 Sviđa mi se obavijest da je ovaj broj ovdje 230 00:14:31,810 --> 00:14:34,760 za dobivanje unutarnji HTML div 231 00:14:34,760 --> 00:14:40,520 je malo, valjda, dugo. 232 00:14:40,520 --> 00:14:45,100 Postoji document.getElementById ("todos"). InnerHTML. 233 00:14:45,100 --> 00:14:48,400 Jedna stvar koju smo mogli učiniti da bi se to kod izgleda malo ugodnija 234 00:14:48,400 --> 00:14:51,450 pa ne bi trebala zadržati pomicanje lijevo i desno, naprijed i natrag, 235 00:14:51,450 --> 00:14:58,480 je sam mogao koristiti knjižnicu poput jQuery. 236 00:14:58,480 --> 00:15:02,710 >> Pogledajmo seminar 2, 237 00:15:02,710 --> 00:15:05,880 i to je isti broj, ali to je učinjeno s jQuery. 238 00:15:05,880 --> 00:15:08,790 Vi svibanj ne biti previše upoznat s jQuery, 239 00:15:08,790 --> 00:15:11,510 ali samo znam da je jQuery je vrsta knjižnica za JavaScript 240 00:15:11,510 --> 00:15:15,910 , što ga čini lakšim za napraviti stvari kao što su pristup pojedinim elementima DOM. 241 00:15:15,910 --> 00:15:21,280 Ovdje umjesto da se kaže document.getElementById ("todos"). InnerHTML 242 00:15:21,280 --> 00:15:25,210 Ja mogu koristiti puno čišći put u jQuery, 243 00:15:25,210 --> 00:15:28,490 koji je samo za korištenje selektora. 244 00:15:28,490 --> 00:15:31,300 Kao što možete vidjeti, ovaj broj je netko malo čišći, 245 00:15:31,300 --> 00:15:35,770 vrlo sličan funkcionalno, ali to je ideja. 246 00:15:35,770 --> 00:15:37,980 Vidjeli smo par stvari dosad, 247 00:15:37,980 --> 00:15:42,010 tako da smo započeli sa samo sirovom JavaScript provedbu. 248 00:15:42,010 --> 00:15:45,370 Dodali smo nove značajke i pokazali kako možemo poboljšati s 249 00:15:45,370 --> 00:15:49,090 samo ono što imamo u JavaScriptu. 250 00:15:49,090 --> 00:15:53,300 >> Da li netko vidio bilo kakvih poteškoća s ovog dizajna? 251 00:15:53,300 --> 00:16:01,090 Naime, pretpostavljam, ili ne nužno poteškoće, ali recimo 252 00:16:01,090 --> 00:16:04,830 nismo radili popis obveza projekt, a sutra smo odlučili 253 00:16:04,830 --> 00:16:10,320 željeli smo napraviti popis namirnica ili projekt shopping liste. 254 00:16:10,320 --> 00:16:14,150 Mnoge od tih značajki su vrlo slični. 255 00:16:14,150 --> 00:16:19,080 Puno stvari koje žele izaći iz JavaScripta su vrlo česte, 256 00:16:19,080 --> 00:16:23,820 i to naglašava potrebu za nekom vrstom način 257 00:16:23,820 --> 00:16:25,670 što se to lakše učiniti. 258 00:16:25,670 --> 00:16:30,400 Morao sam izgraditi sve ove HTML pristupa, sve ovo DOM pristup, 259 00:16:30,400 --> 00:16:35,530 kao da ću se predstavljaju za napraviti popis s ovim modelom. 260 00:16:35,530 --> 00:16:39,130 I primjetiti da sam odgovoran kao JavaScript programer 261 00:16:39,130 --> 00:16:42,890 za čuvanje HTML i JavaScript da imam u sync. 262 00:16:42,890 --> 00:16:48,040 Ništa se automatski napravljen da JavaScript zastupljenost 263 00:16:48,040 --> 00:16:51,590 ili do-do lista se istisnuo u HTML. 264 00:16:51,590 --> 00:16:54,000 Ništa provoditi da, osim za mene. 265 00:16:54,000 --> 00:16:56,880 Morao sam napisati ždrijeb za napraviti popis funkcija. 266 00:16:56,880 --> 00:17:01,650 A to ne može biti, mislim, to je razumno to učiniti, 267 00:17:01,650 --> 00:17:03,670 ali to može biti zamorno ponekad. 268 00:17:03,670 --> 00:17:08,190 Ako imate veći projekt, koji bi mogli biti teško. 269 00:17:08,190 --> 00:17:10,720 >> Okviri, jedna od svrha okvirima 270 00:17:10,720 --> 00:17:14,060 je pojednostaviti taj proces i vrste čimbenika iz 271 00:17:14,060 --> 00:17:16,950 to common-Mislim da se može reći-dizajn obrazaca 272 00:17:16,950 --> 00:17:20,700 da ljudi obično imaju nekakav način predstavljanja podataka, 273 00:17:20,700 --> 00:17:25,599 bilo da je popis prijatelja, bilo da je karta o 274 00:17:25,599 --> 00:17:27,280 ili nešto ili to-do list. 275 00:17:27,280 --> 00:17:30,660 Neki ljudi imaju općenito način prikazivanja informacija, 276 00:17:30,660 --> 00:17:33,650 i oni obično trebaju držati da informacije vrsta u sync 277 00:17:33,650 --> 00:17:36,520 između onoga što korisnik vidi u nekom pogledu, 278 00:17:36,520 --> 00:17:39,850 govoreći u terminima poput kontroler modela more koje smo vidjeli na predavanju, 279 00:17:39,850 --> 00:17:45,400 a zatim model, koji u ovom slučaju je to JavaScript polje. 280 00:17:45,400 --> 00:17:49,020 Okviri nam dati način da se riješi taj problem. 281 00:17:49,020 --> 00:17:53,080 Sada ćemo pogledati na provedbi to-do lista 282 00:17:53,080 --> 00:18:02,360 u okviru zove angularjs. 283 00:18:02,360 --> 00:18:04,650 To je to. Obavijest se uklapa na slajdu. 284 00:18:04,650 --> 00:18:07,330 Nemam za pomicanje lijevo i desno. 285 00:18:07,330 --> 00:18:10,460 To vjerojatno nije velik razlog za preporučiti koristeći okvir, 286 00:18:10,460 --> 00:18:20,120 Obavijest ali sam ikad pristup pojedinačne elemente HTML-a ovdje? 287 00:18:20,120 --> 00:18:22,400 Jesam li ja ikada idući u DOM? 288 00:18:22,400 --> 00:18:26,120 Vidite li document.getElementById ili nešto slično? 289 00:18:26,120 --> 00:18:29,870 No, kako je otišao. 290 00:18:29,870 --> 00:18:35,590 >> Kutna nam pomaže zadržati DOM i JavaScript naše reprezentacije nečega 291 00:18:35,590 --> 00:18:40,430 vrsta u sync, pa ako to nije u js datoteke, 292 00:18:40,430 --> 00:18:46,790 ako ne postoji način programsko dobivanje na sve to HTML sadržaja 293 00:18:46,790 --> 00:18:51,800 iz JavaScripta kako smo imajući to u sync? 294 00:18:51,800 --> 00:18:58,160 Ako to nije u. Js, to mora biti u HTML-u, zar ne? 295 00:18:58,160 --> 00:19:01,910 Ovo je nova verzija HTML datoteke, 296 00:19:01,910 --> 00:19:04,660 i primjetiti Dodali smo puno ovdje. 297 00:19:04,660 --> 00:19:11,110 Obavijest postoji ovi novi atributi koje kažu ng-klik i ng-ponoviti. 298 00:19:11,110 --> 00:19:15,650 Kutnog je pristup rješavanju ovog problema poteškoće u dizajnu 299 00:19:15,650 --> 00:19:19,130 je u osnovi bi HTML mnogo snažnije. 300 00:19:19,130 --> 00:19:24,420 Kutna je način omogućujući vam napraviti HTML nešto izraženiji. 301 00:19:24,420 --> 00:19:30,520 Na primjer, ja mogu reći da ću vezati ili vezati ovaj tekstualni okvir 302 00:19:30,520 --> 00:19:35,080 u varijablu u mom Kutna JavaScript kod. 303 00:19:35,080 --> 00:19:37,030 Ovaj ng-Model ne samo to. 304 00:19:37,030 --> 00:19:41,550 To u osnovi kaže da je stavka unutar tog tekstualnog okvira, 305 00:19:41,550 --> 00:19:45,000 Samo ih povezujemo s promjenjivom new_todo_description 306 00:19:45,000 --> 00:19:47,870 u JavaScript kodu. 307 00:19:47,870 --> 00:19:51,600 To je vrlo moćan, jer ja ne moram ići na izričito 308 00:19:51,600 --> 00:19:53,310 DOM dobiti tu informaciju. 309 00:19:53,310 --> 00:19:56,250 Ne moram reći document.getElementById. 310 00:19:56,250 --> 00:19:58,750 Nemam koristiti jQueries poput DOM pristup. 311 00:19:58,750 --> 00:20:03,280 Mogu ga povezati s varijablom, a onda kad sam to promijeniti varijablu 312 00:20:03,280 --> 00:20:07,400 roku JavaScript je zadržao u sync sa HTML, 313 00:20:07,400 --> 00:20:11,640 tako da pojednostavljuje proces da se ide naprijed i natrag između dva. 314 00:20:11,640 --> 00:20:18,260 Ima li to smisla? 315 00:20:18,260 --> 00:20:22,060 >> I primjetiti da nema pristup HTML koda. 316 00:20:22,060 --> 00:20:27,760 Upravo smo napravili HTML moćniji, 317 00:20:27,760 --> 00:20:32,070 a sada, na primjer, možemo raditi stvari kao što je ovaj, 318 00:20:32,070 --> 00:20:38,610 kao kad kliknete na to, nazovite ovu funkciju u okviru todos.js, 319 00:20:38,610 --> 00:20:43,410 i mi mogli učiniti i prije, ali postoje i druge stvari, kao što je ovaj ng-modela, 320 00:20:43,410 --> 00:20:47,020 i primijetiti ovaj ng-ponoviti. 321 00:20:47,020 --> 00:20:51,520 Što misliš da to znači? 322 00:20:51,520 --> 00:20:54,390 Evo našeg neuređen popis od prije. 323 00:20:54,390 --> 00:20:56,470 Imamo UL oznaka, 324 00:20:56,470 --> 00:21:03,710 ali ja nikad renderiranje taj popis unutar JavaScript kôd? 325 00:21:03,710 --> 00:21:09,280 Nisam nikad izrijekom renderiranje taj popis. 326 00:21:09,280 --> 00:21:11,580 Kako ovo radi? 327 00:21:11,580 --> 00:21:16,410 Pa, smjer Kutna ostvaruje to je to zove repetitora. 328 00:21:16,410 --> 00:21:22,760 Uglavnom ovo kaže da želim ispisati HTML 329 00:21:22,760 --> 00:21:26,240 za svaki TODO unutrašnjost moje todos polja. 330 00:21:26,240 --> 00:21:31,850 Unutar todos.jr postoji niz todos upravo ovdje, 331 00:21:31,850 --> 00:21:37,910 a to će reći kutnog proći kroz taj niz, a za svaki element vidiš 332 00:21:37,910 --> 00:21:41,390 Želim vam da ispišete HTML. 333 00:21:41,390 --> 00:21:44,620 To je vrsta strašan, jer ja samo mogu to učiniti 334 00:21:44,620 --> 00:21:47,760 bez pisati za petlju, 335 00:21:47,760 --> 00:21:52,250 koji za to-do liste koja je bila samo 30 linija koda 336 00:21:52,250 --> 00:21:54,700 Ne mogu biti najkorisnije stvar, 337 00:21:54,700 --> 00:22:01,240 ali ako imate veliki projekt, to bi moglo doći vrlo povoljno. 338 00:22:01,240 --> 00:22:06,100 >> To je jedno rješenje za ovaj problem, izradu HTML moćniji, 339 00:22:06,100 --> 00:22:10,820 a to nam omogućuje da JavaScript i HTML u sync. 340 00:22:10,820 --> 00:22:13,220 Postoje i drugi mogući načini da se riješi ovaj problem, 341 00:22:13,220 --> 00:22:15,320 a ne svaki okvir čini. 342 00:22:15,320 --> 00:22:17,720 Nije svaki okvir djeluje u tom pravcu. 343 00:22:17,720 --> 00:22:19,490 Neki okviri imaju različite pristupe, 344 00:22:19,490 --> 00:22:23,310 a vi svibanj naći da ćete uživati ​​kodiranje u okviru jedne nad drugima. 345 00:22:23,310 --> 00:22:26,160 Pogledajmo još jedan. 346 00:22:26,160 --> 00:22:30,060 To je to-do lista kodirano se u okviru zove kičma. 347 00:22:30,060 --> 00:22:33,250 Ja ću proći kroz to brzo. 348 00:22:33,250 --> 00:22:38,300 Ja ću početi s HTML-a prije nego što idemo tamo. 349 00:22:38,300 --> 00:22:40,290 Jedan drugi. 350 00:22:40,290 --> 00:22:43,950 Počevši s HTML, kao što ste primijetili, naša HTML je vrlo sličan 351 00:22:43,950 --> 00:22:50,000 na ono što je bilo prije, tako da ne previše novo na tom planu. 352 00:22:50,000 --> 00:22:55,410 Ali naša js je malo drugačija. 353 00:22:55,410 --> 00:23:00,360 Okosnicu vrsta ima tu ideju, ili gradi na ideji 354 00:23:00,360 --> 00:23:04,750 da je puno toga što mi radimo s, recimo, naši JavaScript projekti 355 00:23:04,750 --> 00:23:09,110 je razmišljati o modelima i zbirki tih modela. 356 00:23:09,110 --> 00:23:12,510 To može biti, primjerice, slika i zbirki fotografija, 357 00:23:12,510 --> 00:23:16,230 ili ideja prijatelja i zbirkama prijatelja. 358 00:23:16,230 --> 00:23:20,700 I često kada smo programiranja JavaScript aplikacija 359 00:23:20,700 --> 00:23:25,340 ćemo vrsta predstavljaju ideju da zbirku prijatelja 360 00:23:25,340 --> 00:23:29,500 Nekako u JavaScriptu, a kičma nam daje ovaj sloj 361 00:23:29,500 --> 00:23:33,040 Na vrhu Javascript je postojećih polja i objekata 362 00:23:33,040 --> 00:23:38,300 učiniti više moćne stvari s tim lakše. 363 00:23:38,300 --> 00:23:41,870 >> Ovdje sam definirao to-do modela, 364 00:23:41,870 --> 00:23:44,630 a vi ne morate brinuti previše o sintaksi, 365 00:23:44,630 --> 00:23:48,730 ne primijetiti da ono što je jedna od karakteristika ovog? 366 00:23:48,730 --> 00:23:53,190 Ona ima zadanu polje. 367 00:23:53,190 --> 00:23:56,640 Okosnicu mi omogućuje da odredite je već off šišmiša 368 00:23:56,640 --> 00:24:00,190 svaka nova obveza da sam stvorila će imati ove postavke. 369 00:24:00,190 --> 00:24:04,100 Sada mogu prilagoditi tome, ali se moći odrediti zadane 370 00:24:04,100 --> 00:24:07,220 je lijepo, a to je vrsta povoljno, jer to nije nešto što je kao 371 00:24:07,220 --> 00:24:10,430 svojstvena JavaScript, a sada ne morate izričito 372 00:24:10,430 --> 00:24:12,430 kažu da su todos nepotpuni. 373 00:24:12,430 --> 00:24:19,190 Ja mogu reći pravo isključiti šišmiš da su todos će biti označena kao nepotpuna. 374 00:24:19,190 --> 00:24:21,300 Obavijest što je onda ovo? 375 00:24:21,300 --> 00:24:25,520 Sada imam za napraviti popis, a to je skup. 376 00:24:25,520 --> 00:24:30,960 Obavijest polje povezan s tim kaže Model todo. 377 00:24:30,960 --> 00:24:33,390 Ovo je moj način reći da je okosnica 378 00:24:33,390 --> 00:24:37,350 Ja ću biti razmišljanje o naplati tih pojedinačnih todos. 379 00:24:37,350 --> 00:24:42,140 To je u osnovi model struktura za moj program. 380 00:24:42,140 --> 00:24:44,980 Ovdje imam ideju o prikupljanju, 381 00:24:44,980 --> 00:24:48,960 i zapravo stavke sadržane u toj zbirci sve će biti ove todos, 382 00:24:48,960 --> 00:24:51,910 a to je vrlo prirodno u tom smislu 383 00:24:51,910 --> 00:24:59,890 jer imam Todos, a ja ih imam u kolekciji. 384 00:24:59,890 --> 00:25:02,940 >> Pogledajmo malo više od toga. 385 00:25:02,940 --> 00:25:05,900 Ovdje je kičma pogled. 386 00:25:05,900 --> 00:25:08,890 Druga stvar koja kaže da je kičma 387 00:25:08,890 --> 00:25:14,660 puno modela koji razmišljate o ili čak zbirke 388 00:25:14,660 --> 00:25:19,150 će morati imati neki način se prikazuje. 389 00:25:19,150 --> 00:25:21,900 Moramo donijeti da to-do lista, 390 00:25:21,900 --> 00:25:25,460 a ne bi bilo lijepo kad bismo mogli osigurati za svaki model 391 00:25:25,460 --> 00:25:28,390 podružnice ili uz svaki model ovaj pogled 392 00:25:28,390 --> 00:25:34,020 koji nam omogućava da mislim spojiti dva zajedno? 393 00:25:34,020 --> 00:25:38,320 Dok je prije nego što smo morali koristiti za petlje da bi prolazio kroz 394 00:25:38,320 --> 00:25:41,130 svaki todo u našem popisu, a zatim ga isprintati ovdje 395 00:25:41,130 --> 00:25:44,650 mi u osnovi može ga povezati s ovim modelom. 396 00:25:44,650 --> 00:25:47,550 To je za napraviti pogled. 397 00:25:47,550 --> 00:25:50,550 To je povezana s popisu obveza smo pronašli ranije. 398 00:25:50,550 --> 00:25:54,940 Sada svaki todo je pokazivaču se može prikazati ili renderable 399 00:25:54,940 --> 00:25:56,960 po ovome prikazu obveza. 400 00:25:56,960 --> 00:25:59,440 Obavijest neka polja. 401 00:25:59,440 --> 00:26:05,880 Što misliš da je ovo tagName je, tagName: Li? 402 00:26:05,880 --> 00:26:09,790 Sjetite od prije kad smo htjeli donijeti todo 403 00:26:09,790 --> 00:26:16,700 ćemo morati izrijekom upariti s ovim našim Todos Li oznaku. 404 00:26:16,700 --> 00:26:21,080 Sada tvrdimo da je to todo gdje će živjeti 405 00:26:21,080 --> 00:26:25,250 će biti unutar jednog Li oznaku. 406 00:26:25,250 --> 00:26:31,440 I sad mi smo također udruživanje događaje s našim todos. 407 00:26:31,440 --> 00:26:34,320 >> Svaki todo ima tu jedan događaj. 408 00:26:34,320 --> 00:26:38,480 Ako kliknete prilično preklopni gumb, to je ono što ja govorim ovdje, 409 00:26:38,480 --> 00:26:43,080 zatim osnovi obilježiti todo kao suprotnost od onoga što je bilo prije 410 00:26:43,080 --> 00:26:45,890 a zatim ponovno pružiti aplikaciju. 411 00:26:45,890 --> 00:26:47,810 To je vrsta slična koda prije. 412 00:26:47,810 --> 00:26:50,730 Sjećaš li se kada smo ga označili kao bilo suprotno ili- 413 00:26:50,730 --> 00:26:52,410 i onda smo ga ponovno donio. 414 00:26:52,410 --> 00:26:57,750 Ali sada primjetiti ovaj događaj koristi da se nešto što je u HTML-u. 415 00:26:57,750 --> 00:26:59,640 On je sjedio tamo. 416 00:26:59,640 --> 00:27:01,410 Gumb imao na klik. 417 00:27:01,410 --> 00:27:05,310 Kad kliknete na gumb, ona vrsta stvari ne bi 418 00:27:05,310 --> 00:27:07,210 postavili da todo da je nepotpun. 419 00:27:07,210 --> 00:27:11,180 Ovdje smo povezivali taj događaj klikom na taj sklopku 420 00:27:11,180 --> 00:27:15,830 i unazad da li je ili isključiti s tog gledišta. 421 00:27:15,830 --> 00:27:20,480 >> Ovo je lijep način postavljanja ovog događaja, tako da je vrlo čvrsto vezana 422 00:27:20,480 --> 00:27:26,980 tom stajalištu, i tako primjetiti ovo jedan više. 423 00:27:26,980 --> 00:27:31,050 Imam taj način uzvratiti, a mi ne moramo proći kroz detalje. 424 00:27:31,050 --> 00:27:33,650 To je vrsta slično onome što smo imali prije, 425 00:27:33,650 --> 00:27:36,070 ali primijetiti nisam petlje kroz sve. 426 00:27:36,070 --> 00:27:40,700 Ja nisam taj ispisuje ul. oznaku koja je vrsta rekavši da ću ispisati sve elemente. 427 00:27:40,700 --> 00:27:46,610 Ja sam pod uvjetom da je funkcionalnost za pružanje ovaj jedan to-do stavke. 428 00:27:46,610 --> 00:27:49,400 To je vrlo moćan, jer koncept osnovi 429 00:27:49,400 --> 00:27:53,600 naš popis obveza sastoji se od svih tih todos, a ako mi u osnovi može odrediti 430 00:27:53,600 --> 00:27:56,890 način da se donese jedan od onih todos 431 00:27:56,890 --> 00:28:04,230 onda možemo imamo snažan oslonac po sebi donijeti sve todos 432 00:28:04,230 --> 00:28:07,760 pozivom Render metoda na pojedinim todos. 433 00:28:07,760 --> 00:28:14,180 To je koncept koji je korisno ovdje. 434 00:28:14,180 --> 00:28:18,160 Sada dobro pitanje koje treba postaviti je kako je ovaj program se staviti zajedno? 435 00:28:18,160 --> 00:28:21,200 Budući da imamo mogućnost da donese jedan todo, 436 00:28:21,200 --> 00:28:23,860 ali kako smo dobili ideju više todos? 437 00:28:23,860 --> 00:28:25,100 >> Uzmimo pogled na to. 438 00:28:25,100 --> 00:28:27,100 Ovo je posljednji dio. 439 00:28:27,100 --> 00:28:29,740 Obavijest imamo popis obveza pogled ovdje, 440 00:28:29,740 --> 00:28:34,440 i primjetiti da je i pogled. 441 00:28:34,440 --> 00:28:36,970 I ići preko nekoliko stvari, 442 00:28:36,970 --> 00:28:45,280 to Initialize metoda će se zvati kad smo prvi put stvorili tu za-napraviti popis. 443 00:28:45,280 --> 00:28:52,630 Kao što možete vidjeti, to je kao stvaranje popisa obveza i povezivanje s tog gledišta. 444 00:28:52,630 --> 00:28:57,860 A onda sam dodao funkcija ovdje, pa u osnovi kada dodati stavku- 445 00:28:57,860 --> 00:29:01,440 ovo je slično načinu na addItem smo vidjeli prije- 446 00:29:01,440 --> 00:29:07,430 Ja ću stvoriti novi popis obveza objekt, i primjetiti ja zapravo zovem 447 00:29:07,430 --> 00:29:13,080 ova nova metoda todo, pa to daje Backbone, 448 00:29:13,080 --> 00:29:16,010 i ja mogu proći u svojim svojstvima ovdje. 449 00:29:16,010 --> 00:29:23,710 I sada svaki todo koji stvaraju sam koristeći ovaj će dobiti taj funkcionalnosti koje smo vidjeli prije. 450 00:29:23,710 --> 00:29:28,140 Obavijest sam čistini tekstualni okvir prije-mali mali detalj- 451 00:29:28,140 --> 00:29:32,900 a zatim sam dodao ovu kolekciju. 452 00:29:32,900 --> 00:29:37,630 >> To je gotovo čini čudno, jer prije nego što smo jednostavno morali učiniti da todos.push, 453 00:29:37,630 --> 00:29:43,310 a onda smo učinili, a to može činiti kompliciraniji za ovaj projekt, 454 00:29:43,310 --> 00:29:46,980 a vi svibanj naći da Backbone ili čak kutnog ili bilo koji drugi okvir 455 00:29:46,980 --> 00:29:50,790 ne odgovaraju vašem projekt, ali mislim da je važno razmišljati o 456 00:29:50,790 --> 00:29:54,100 što to znači na većem mjerilu za veće projekte, 457 00:29:54,100 --> 00:29:56,610 jer ako smo imali veći projekt u kojem smo bili predstavljaju 458 00:29:56,610 --> 00:30:00,860 Neki stvarno složen skup, nešto dublje nego samo to-do liste, 459 00:30:00,860 --> 00:30:04,490 recimo popis prijatelja ili nešto slično, to može doći u ruci 460 00:30:04,490 --> 00:30:09,620 jer smo mogli organizirati naš kod u jako zgodan način, 461 00:30:09,620 --> 00:30:12,550 na način koji bi ga lakše za nekog drugog 462 00:30:12,550 --> 00:30:16,820 koji je htio pokupiti projekt za izgradnju na. 463 00:30:16,820 --> 00:30:21,450 Možete vidjeti da to daje puno strukture. 464 00:30:21,450 --> 00:30:26,580 I onda zovem uzvratiti na ovom addItem. 465 00:30:26,580 --> 00:30:31,050 Render, kao što možete vidjeti, a vi ne morate shvatiti ovu punu sintaksu, 466 00:30:31,050 --> 00:30:37,790 ali u osnovi za svaki model će to nazvati pojedinačni uzvratiti metodu. 467 00:30:37,790 --> 00:30:41,500 To je vrsta, gdje to dolazi iz. 468 00:30:41,500 --> 00:30:44,140 Ajmo navesti kako čine pojedinca Todos 469 00:30:44,140 --> 00:30:47,310 a onda ćemo ih ljepila zajedno kao cjelina. 470 00:30:47,310 --> 00:30:49,810 No, to pruža način apstrakcije, 471 00:30:49,810 --> 00:30:55,470 jer sam mogao promijeniti način na koji sam odlučuje da donese pojedine Todos 472 00:30:55,470 --> 00:30:57,940 i ne bih morati promijeniti bilo koju od ovog koda. 473 00:30:57,940 --> 00:31:00,700 To je vrsta cool. 474 00:31:00,700 --> 00:31:08,540 >> Da li itko ima bilo kakvih pitanja u vezi JavaScript okvirima? 475 00:31:08,540 --> 00:31:14,310 [Studentski nečujno Pitanje] 476 00:31:14,310 --> 00:31:16,050 Oh, da, to je veliko pitanje. 477 00:31:16,050 --> 00:31:19,080 Pitanje je bilo kako sam uključiti okvire? 478 00:31:19,080 --> 00:31:22,970 Većina JavaScript okviri su u osnovi samo JS datoteke 479 00:31:22,970 --> 00:31:25,740 da možete uključiti na vrhu vašeg koda. 480 00:31:25,740 --> 00:31:29,830 Obavijest u glavu dijelu mog HTML Imam sve te skripte oznake, 481 00:31:29,830 --> 00:31:34,250 , a konačni scenarij tag je kod koji smo napisali. 482 00:31:34,250 --> 00:31:38,820 A onda su 3 okvirni kodovi su jednostavno i skripta oznake. 483 00:31:38,820 --> 00:31:42,110 Ja sam ih pa tako i od onoga što se zove CDN, 484 00:31:42,110 --> 00:31:46,200 što mi omogućuje da ga dobili od nekoga drugoga u ovom trenutku 485 00:31:46,200 --> 00:31:57,930 ali svaki okvir ima ova-možete prilično mnogo pronaći sadržaj 486 00:31:57,930 --> 00:32:03,540 za određenu JavaScript knjižnica je dostupna na nekim CDN ili nešto slično, 487 00:32:03,540 --> 00:32:05,570 a zatim možete uključiti ove oznake skripte. 488 00:32:05,570 --> 00:32:07,600 Ima li to smisla? 489 00:32:07,600 --> 00:32:09,500 Cool. 490 00:32:09,500 --> 00:32:11,730 >> To su dva različita pristupa. 491 00:32:11,730 --> 00:32:14,640 Oni nisu jedini pristupi rješavanju ovog problema. 492 00:32:14,640 --> 00:32:17,080 Postoji mnogo različitih stvari koje 493 00:32:17,080 --> 00:32:19,490 netko mogao napraviti, a tu su i mnogi okviri vani. 494 00:32:19,490 --> 00:32:23,300 Kutni i kičma ne reći cijelu priču. 495 00:32:23,300 --> 00:32:26,370 Sretno s vašim konačnim projekte, a puno ti hvala. 496 00:32:31,960 --> 00:32:35,000 [CS50.TV]