1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Seminar] [JavaScript raamistike: miks ja kuidas?] 2 00:00:02,000 --> 00:00:04,000 [Kevin Schmid] [Harvard University] 3 00:00:04,000 --> 00:00:06,960 [See on CS50.] [CS50.TV] 4 00:00:06,960 --> 00:00:10,630 >> Tere kõigile. Tere tulemast JavaScript raamistike seminar. 5 00:00:10,630 --> 00:00:14,910 Minu nimi on Kevin ja täna ma lähen rääkima JavaScript raamistike 6 00:00:14,910 --> 00:00:20,400 ja Eesmärk on see seminar ei ole sulle, ütleme, kapten eelkõige raamistik iseenesest 7 00:00:20,400 --> 00:00:23,810 kuid sulle laialdast kasutuselevõttu paar raamistike 8 00:00:23,810 --> 00:00:27,150 ja näidata, miks me ei oleks kunagi tahame kasutada raamistikus. 9 00:00:27,150 --> 00:00:31,060 >> Enne kui ma seda teha, ma pakkuda veidi tausta JavaScript, 10 00:00:31,060 --> 00:00:33,750 ja siis me võtame ta sealt. 11 00:00:33,750 --> 00:00:36,270 Me läheme alustada rakendades to-do list. 12 00:00:36,270 --> 00:00:39,330 Siin on meie ülesanne nimekirja täna. 13 00:00:39,330 --> 00:00:41,990 See on omamoodi naljakas. Me peame rakendama to-do nimekirja JavaScript. 14 00:00:41,990 --> 00:00:45,110 See on see, et see saab nägema, et see on meie esimene eesmärk. 15 00:00:45,110 --> 00:00:47,160 Me ei kavatse kasutada raames teha. 16 00:00:47,160 --> 00:00:51,930 Me läheme kood JavaScript ja saada to-do list tööd. 17 00:00:51,930 --> 00:00:54,370 Siis me lähme, et parandada disaini, kasutamata raamistik. 18 00:00:54,370 --> 00:00:57,190 Me läheme, et arutada erinevaid asju, mida me saame teha vaid JavaScript üksi 19 00:00:57,190 --> 00:01:00,650 teha oma to-do list veidi hästi disainitud. 20 00:01:00,650 --> 00:01:02,490 Siis me visata mõned jQuery, 21 00:01:02,490 --> 00:01:05,030 ja siis me läheme vaatama samal to-do list, 22 00:01:05,030 --> 00:01:07,170 lihtsalt ellu eri raamistikud, ja me arutame 23 00:01:07,170 --> 00:01:09,280  plusse ja miinuseid mööda teed. 24 00:01:09,280 --> 00:01:12,040 >> Alustame rakendavate to-do list. 25 00:01:12,040 --> 00:01:14,270 Oletame, et me oleme andnud seda HTML. 26 00:01:14,270 --> 00:01:16,620 Ma teen seda veidi väiksem. 27 00:01:16,620 --> 00:01:19,300 Nagu näete, mul on väike kaudu, mis ütleb Todo 28 00:01:19,300 --> 00:01:21,740 ja väike kast kus Oskan kirjeldus todo 29 00:01:21,740 --> 00:01:26,990 ja siis uus kirje nupp, nii proovime sisestada uue ülesande, et seda nimekirja. 30 00:01:26,990 --> 00:01:31,000 Anna JavaScript raamistike seminar, 31 00:01:31,000 --> 00:01:33,090 ja ma olen tabanud uus objekt. 32 00:01:33,090 --> 00:01:35,730 Ma saan seda JavaScripti märguanne, mis ütleb, rakendada mulle. 33 00:01:35,730 --> 00:01:37,560 Me peame rakendama. 34 00:01:37,560 --> 00:01:41,490 Vaatame kood see nii HTML ja JavaScript. 35 00:01:41,490 --> 00:01:43,260 Siin on meie HTML. 36 00:01:43,260 --> 00:01:45,500 Nagu näete siin, siin on meie väike Todos päises. 37 00:01:45,500 --> 00:01:47,620 See oli julge asi tipus, 38 00:01:47,620 --> 00:01:50,690 ja siis on meil sisend kasti kohatäide, 39 00:01:50,690 --> 00:01:59,460 ja siis seal on teatud omadus seda nuppu, mis nõuab seda funktsiooni addtodo. 40 00:01:59,460 --> 00:02:05,460 Kas keegi tahab arvata, mis see on klikk tähendas? 41 00:02:05,460 --> 00:02:07,390 [Student kuuldamatu vastus] 42 00:02:07,390 --> 00:02:09,289 Hea, klikkide on omamoodi nagu juhul, 43 00:02:09,289 --> 00:02:12,120 nagu klikkides hiirt on lihtsalt sündmus, ja see, mida me teeme 44 00:02:12,120 --> 00:02:16,890 on meil sidumine korral klõpsake seda nuppu, et täita seda funktsiooni. 45 00:02:16,890 --> 00:02:21,700 Addtodo on see sündmus klõpsates et nupp. 46 00:02:21,700 --> 00:02:25,010 >> Nagu näete, kui ma vajutan uue elemendi nuppu 47 00:02:25,010 --> 00:02:29,940 klikkide korral vallandatakse, ja seda funktsiooni saab nn. 48 00:02:29,940 --> 00:02:33,170 Vaatame funktsiooni. 49 00:02:33,170 --> 00:02:36,260 Nagu näete, siin on mu JavaScript kood siiani. 50 00:02:36,260 --> 00:02:41,280 Mida ma pean ülaosas on ülemaailmne andmestruktuuri minu to-do list. 51 00:02:41,280 --> 00:02:44,060 Tundub, et massiivi. See on lihtsalt tühi massiiv. 52 00:02:44,060 --> 00:02:47,100 Ja siis on mul addtodo funktsioon, mida me nägime, 53 00:02:47,100 --> 00:02:50,740 ja ainult rida koodi on see märguanne. 54 00:02:50,740 --> 00:02:55,730 Ta hoiatab rakendada mind ja siis ma pean 2 ülesandeid käepärast. 55 00:02:55,730 --> 00:02:58,790 Pean lisama todo selle globaalse andmestruktuur, 56 00:02:58,790 --> 00:03:01,860 ja siis ma tahan juhtida tähelepanu to-do list. 57 00:03:01,860 --> 00:03:06,360 Midagi liiga fancy lihtsalt veel, aga JavaScript võite olla tuttavad, 58 00:03:06,360 --> 00:03:12,370 nii et ma lähen minema aeglaselt ja läbi põhialuste JavaScript niimoodi. 59 00:03:12,370 --> 00:03:15,490 >> Anname selle maha. 60 00:03:15,490 --> 00:03:21,130 Oletame, et kasutaja sisestab midagi selles kastis. 61 00:03:21,130 --> 00:03:23,360 Ma lihtsalt kirjutada midagi siia, teksti. 62 00:03:23,360 --> 00:03:27,620 Kuidas sorteerida juurdepääsu et tekst kaudu JavaScript? 63 00:03:27,620 --> 00:03:32,500 Pea meeles, et JavaScript on üks tema peamine omadus on, et see annab meile 64 00:03:32,500 --> 00:03:34,670 see programmiline juurdepääs DOM. 65 00:03:34,670 --> 00:03:40,670 See võimaldab meil kasutada elemente ja nende omadusi tegelik HTML. 66 00:03:40,670 --> 00:03:43,430 Kuidas me teeme, et paljaste luud JavaScript 67 00:03:43,430 --> 00:03:51,360 ei saa me tegelikult kasutada funktsiooni JavaScript nimetatakse getElementByID. 68 00:03:51,360 --> 00:03:55,140 Ma tahan, et salvestada teksti, mis on kirjutatud seal mõned muutuja, 69 00:03:55,140 --> 00:03:58,350 nii et ma lähen öelda uus muutuja nimega new_todo, 70 00:03:58,350 --> 00:04:01,980 ja ma lähen, et element. 71 00:04:01,980 --> 00:04:06,330 See on funktsioon,. GetElementByID. 72 00:04:06,330 --> 00:04:11,580 Ja nüüd ma saan element, mida ID, nii et mul on vaja ID selle teksti kasti 73 00:04:11,580 --> 00:04:15,860 nii et ma olen teinud selle ID new_todo_description. 74 00:04:15,860 --> 00:04:18,399 See, kuidas ma lähen, et saada element. 75 00:04:18,399 --> 00:04:23,880 See on minu argument, et seda funktsiooni, et määrata, millised ID saada. 76 00:04:23,880 --> 00:04:28,110 Ja nii see on element, HTML, ja see on omadusi. 77 00:04:28,110 --> 00:04:30,650 Olete näinud neid. Nad atribuute. 78 00:04:30,650 --> 00:04:37,090 Teksti atribuut element, mis salvestab kasutaja sisend on nn väärtus. 79 00:04:37,090 --> 00:04:40,860 Ma päästsin selle väärtus, tekstikasti nüüd selle muutuja nimega new_todo. 80 00:04:40,860 --> 00:04:45,040 Nüüd on mul programmiline juurdepääs selle muutuja, mis on selline lahe 81 00:04:45,040 --> 00:04:49,200 sest nüüd, mida ma teha saan, on mul selle lisada oma to-do list. 82 00:04:49,200 --> 00:04:52,870 >> Kuidas me seda teha Javascript ja ärge muretsege, kui te ei tunne seda, 83 00:04:52,870 --> 00:04:57,010 aga lihtsalt läbimas on todos.push 84 00:04:57,010 --> 00:05:00,130 sest see nimi minu maailma andmestruktuur siin, 85 00:05:00,130 --> 00:05:04,450 ja ma lähen suruda new_todo. 86 00:05:04,450 --> 00:05:09,120 See on suurepärane, sest nüüd olen lisanud selle minu JavaScript 87 00:05:09,120 --> 00:05:11,280 esindatus, et to-do list. 88 00:05:11,280 --> 00:05:15,170 Aga nüüd, kuidas ma saan selle tagasi HTML? 89 00:05:15,170 --> 00:05:18,560 Mul on vaja leida viis sorteerida ning lükake see tagasi. 90 00:05:18,560 --> 00:05:21,830 Teisisõnu, ma nagu pead tegema seda. 91 00:05:21,830 --> 00:05:26,060 Mida me teeme, on me juhtida to-do list. 92 00:05:26,060 --> 00:05:29,270 Mul on vaja uuendada muu HTML sellel lehel, 93 00:05:29,270 --> 00:05:32,040 ja nagu näete, ma olen jäänud see väike konteiner siin 94 00:05:32,040 --> 00:05:36,840 see jagaja leht, mille ID on todos, 95 00:05:36,840 --> 00:05:40,870 ja ma panen to-do list on. 96 00:05:40,870 --> 00:05:47,240 Esiteks ma kustutan ta sellepärast, ütleme, seal oli vana-do list on. 97 00:05:47,240 --> 00:05:49,560 Ma saan, et element, mille ID jälle 98 00:05:49,560 --> 00:05:54,530 ja ma olen tutvumise sisemine HTML selle elemendi, 99 00:05:54,530 --> 00:05:58,010 ja ma lähen selgitada, et. 100 00:05:58,010 --> 00:06:05,510 Kui me lahkusime see kood on, me tahaks näha tühja midagi seal, 101 00:06:05,510 --> 00:06:10,410 ja nüüd ma tahan alustada muutes oma uue to-do list. 102 00:06:10,410 --> 00:06:12,870 Ma põhimõtteliselt läheb hävitada oma to-do list. 103 00:06:12,870 --> 00:06:18,180 >> Nüüd sisemine HTML sees et todos div on täiesti selge, 104 00:06:18,180 --> 00:06:20,060 ja nüüd mul on vaja alustada lisades oma nimekirja. 105 00:06:20,060 --> 00:06:23,890 Esimene asi, mida ma tahan lisada tagasi on ebakorrapärane nimekirja tag, 106 00:06:23,890 --> 00:06:33,890 mis sisuliselt tähendab, et see on alguse Tavalise nimekirja. 107 00:06:33,890 --> 00:06:39,770 Nüüd iga element minu todos array Ma tahan printida sees, et HTML. 108 00:06:39,770 --> 00:06:43,710 Ma tahan lisada seda, et allosas see nimekiri. 109 00:06:43,710 --> 00:06:49,040 Just nagu C, saan kasutada silmus, ja ma lähen alustada alguses minu nimekirja 110 00:06:49,040 --> 00:06:54,140 kell element 0, ja ma lähen minema kogu tee pikkusest nimekirjast. 111 00:06:54,140 --> 00:07:01,100 Me saame tegelikult saada pikkus massiivi JavaScript kasutades pikkus vara. 112 00:07:01,100 --> 00:07:03,420 Põhimõtteliselt ma teen midagi väga sarnast sees siin 113 00:07:03,420 --> 00:07:05,600 välja trükkida, et element. 114 00:07:05,600 --> 00:07:12,970 Võin veel juurde todos div, sisemine HTML vara, et 115 00:07:12,970 --> 00:07:17,560 ja ma lähen, et lisada sellele uus nimekiri objekt ja mis saab olema ümbritsetud 116 00:07:17,560 --> 00:07:25,390 see li tag, ja ma lähen concatenate koos + operaatori 117 00:07:25,390 --> 00:07:28,040 ja mis on i-nda elemendi minu todos massiiv, 118 00:07:28,040 --> 00:07:32,380 ja siis ma lähen lähedal, et tag. 119 00:07:32,380 --> 00:07:36,240 Nüüd iga element lisame uue nimekirja kandmise. 120 00:07:36,240 --> 00:07:48,700 Ja siis kõik me tõesti vaja teha on sulgeda, et tag. 121 00:07:48,700 --> 00:07:52,820 Ma lihtsalt vaja sulgeda, et ebakorrapärane nimekirja tag. 122 00:07:52,820 --> 00:07:55,490 >> Kas sa saad tunda, kuidas see töötab? 123 00:07:55,490 --> 00:07:57,700 See avab kogu nimekirja. 124 00:07:57,700 --> 00:08:01,080 See lisab üksikud elemendid todos nimekiri loendisse 125 00:08:01,080 --> 00:08:05,470 ja siis, et sulgeb kogu nimekirja, ja see on minu addtodo funktsioon. 126 00:08:05,470 --> 00:08:09,590 Ma põhimõtteliselt alustada saada todo alates tekstikasti. 127 00:08:09,590 --> 00:08:18,950 Lisan, et todos massiiv, ja siis ma uuesti muuda to-do list. 128 00:08:18,950 --> 00:08:21,520 Nüüd ma saan lisada punkte oma nimekirja. 129 00:08:21,520 --> 00:08:24,620 See on omamoodi põnev, sest vaid paar rida koodi 130 00:08:24,620 --> 00:08:28,240 oleme põhiliselt tehtud to-do list, kus me saame lisada punkte. 131 00:08:28,240 --> 00:08:30,050 Great. 132 00:08:30,050 --> 00:08:34,480 See on omamoodi algteadmised JavaScript. 133 00:08:34,480 --> 00:08:36,179 Ärge muretsege liiga palju süntaks nüüd, 134 00:08:36,179 --> 00:08:38,130 kuid mõtle selle kontseptuaalselt. 135 00:08:38,130 --> 00:08:40,539 Meil oli mõned HTML. 136 00:08:40,539 --> 00:08:45,310 Meil oli tekstikasti lehel, et põhimõtteliselt lubatud kasutajatel sisestada ülesande kirje lisada. 137 00:08:45,310 --> 00:08:49,210 Ja siis me kasutasime JavaScript tõmmata et todo selle tekstikasti. 138 00:08:49,210 --> 00:08:52,830 Meil hoitakse selle sees JavaScript massiiv, mis on põhimõtteliselt nagu 139 00:08:52,830 --> 00:08:56,010 meie programmiline esindatus et to-do list, 140 00:08:56,010 --> 00:08:59,060 ja siis me trükitud välja. 141 00:08:59,060 --> 00:09:02,690 See on todos.js. 142 00:09:02,690 --> 00:09:07,620 >> See on selline lahe, aga kuidas me seda edasi? 143 00:09:07,620 --> 00:09:11,350 Noh, nagu näete, see ei ole nagu täielik to-do list. 144 00:09:11,350 --> 00:09:15,100 Näiteks ma ei saa tähistada kõik need teemad on puudulikud, 145 00:09:15,100 --> 00:09:19,920 nagu siis, kui ma tahtsin reprioritize teemad või kustutamiseks. 146 00:09:19,920 --> 00:09:23,150 See on okei, aga me ei tohi seda edasi. 147 00:09:23,150 --> 00:09:29,280 Ma ei kavatse rääkida liiga palju lisada lisafunktsioone, 148 00:09:29,280 --> 00:09:32,800 aga me võiks võtta, et veelgi. 149 00:09:32,800 --> 00:09:35,970 Räägime lisades veel üks omadus, et selle to-do list, 150 00:09:35,970 --> 00:09:40,370 mis läheb võimet kontrollida üksikute ülesannete kirje 151 00:09:40,370 --> 00:09:44,780 ja on see läbi kriipsutada, nii et põhimõtteliselt öelda, et ma olen teinud seda. 152 00:09:44,780 --> 00:09:50,240 Vaatame mõned kood, mis võivad täita seda. 153 00:09:50,240 --> 00:09:52,740 Pane tähele, mida ma teinud olen ülaosas on Olen lisanud 154 00:09:52,740 --> 00:09:57,620 uus globaalne massiiv nimega täielik. 155 00:09:57,620 --> 00:10:02,890 Ma põhiliselt kasutades seda salvestada kas need üksused to-do list 156 00:10:02,890 --> 00:10:06,560 on täielik või mitte. 157 00:10:06,560 --> 00:10:08,470 See on üks viis seda teha. 158 00:10:08,470 --> 00:10:13,750 Kui ma vaatan, rakendamise, ekraan, 159 00:10:13,750 --> 00:10:21,120 põhimõtteliselt, kui ma sisestan todo ja ma vajutan seda tumblernupu 160 00:10:21,120 --> 00:10:25,040 ta läbib läbi, nii et iga kirje selles loendis on kas täielik 161 00:10:25,040 --> 00:10:31,050 või ebatäielikud, ja ma kasutan teise massiivi esindada seda. 162 00:10:31,050 --> 00:10:33,730 >> Põhimõtteliselt iga todo selles todos massiivi 163 00:10:33,730 --> 00:10:37,110 seal on elemendi täielik array mis põhimõtteliselt näitab 164 00:10:37,110 --> 00:10:39,060 kas see on täielik või mitte. 165 00:10:39,060 --> 00:10:41,640 Olen olnud teha üsna vähe muudatusi selle koodi, 166 00:10:41,640 --> 00:10:44,470 et siin on meie addtodo funktsioon. 167 00:10:44,470 --> 00:10:48,530 Pane tähele, et siin ma olen surudes seda peale massiivi 168 00:10:48,530 --> 00:10:51,300 ja siis ma olen surudes 0 et täielik array, 169 00:10:51,300 --> 00:10:57,090 põhiliselt paralleelselt uue ülesande push öelda 170 00:10:57,090 --> 00:11:00,430 Ma lisada see toode, ja see on koos seda väärtust, 171 00:11:00,430 --> 00:11:02,810 mis tähendab, et see on puudulik. 172 00:11:02,810 --> 00:11:04,970 Ja siis ma nihutama to-do list. 173 00:11:04,970 --> 00:11:09,220 Nüüd teate Olen lisanud seda drawTodoList funktsioon. 174 00:11:09,220 --> 00:11:11,760 See võtab palju kood oli meil varem, 175 00:11:11,760 --> 00:11:15,320 Põhiliselt puhastab välja kasti ja seejärel juhib uus to-do list. 176 00:11:15,320 --> 00:11:19,620 Aga teate, et sees selle jaoks loop me teeme natuke rohkem nüüd. 177 00:11:19,620 --> 00:11:25,000 Me põhimõtteliselt kontrollida, kas toode vastab nda todo siin 178 00:11:25,000 --> 00:11:30,220 on lõppenud ja me käituvad erinevalt neist 2 juhul. 179 00:11:30,220 --> 00:11:32,790 Kui see on valmis, me liidame seda del tag, 180 00:11:32,790 --> 00:11:35,360 mis on põhimõtteliselt tee saad, et streik läbi mõju 181 00:11:35,360 --> 00:11:38,190 kriipsutatakse to-do list, kui see on lõpule viidud, 182 00:11:38,190 --> 00:11:42,200 ja kui see ei ole, et me ei kaasa ta. 183 00:11:42,200 --> 00:11:45,030 Ja nii, et selline hoolitseb, et 184 00:11:45,030 --> 00:11:49,140 >> ja see on üks viis selle saavutamiseks. 185 00:11:49,140 --> 00:11:53,420 Ja siis teate, kui kasutaja klõpsab üks neist 186 00:11:53,420 --> 00:11:56,780 me lülitada lõpetamist staatuse ta. 187 00:11:56,780 --> 00:12:02,170 Kui kasutaja klõpsab, me vastupidine kas see on täidetud või mitte, 188 00:12:02,170 --> 00:12:04,540 ja siis me värskendatakse seda. 189 00:12:04,540 --> 00:12:06,190 Sellist tööd. 190 00:12:06,190 --> 00:12:09,860 Meil on need funktsioonid, mis teostavad oma ülesandeid, 191 00:12:09,860 --> 00:12:11,730 ja see on okei. 192 00:12:11,730 --> 00:12:14,110 Kas on midagi, mida me teha saame paremini selle, kuigi? 193 00:12:14,110 --> 00:12:18,700 Teade meil need 2 globaalse massiivid. 194 00:12:18,700 --> 00:12:23,550 Kui see oli C, ja meil oli 2 massiivid sellist esindatud 195 00:12:23,550 --> 00:12:25,800 andmed, mis oli omamoodi seotud kuidagi 196 00:12:25,800 --> 00:12:30,140 milline oleks me kasutame C ühendada need 2 välja 197 00:12:30,140 --> 00:12:35,420 millekski, mida hõlmatakse nii infoväljad? 198 00:12:35,420 --> 00:12:37,600 Kas keegi tahab midagi soovitada? 199 00:12:37,600 --> 00:12:39,450 [Student kuuldamatu vastus] 200 00:12:39,450 --> 00:12:42,340 >> Täpselt nii, et me saaksime kasutada mingi struktuure, 201 00:12:42,340 --> 00:12:44,960 ja kui te arvate tagasi, ütleme, pset 3, 202 00:12:44,960 --> 00:12:47,350 mäletan pidime sõnastik ja seejärel oli meil kas sõna 203 00:12:47,350 --> 00:12:50,230 oli sõnastikku ja kõik see teave kokku panna 204 00:12:50,230 --> 00:12:52,420 sees mõnede andmete struktuuri. 205 00:12:52,420 --> 00:12:56,390 Üks asi, mida ma teha saan, see kood, et vältida neid 2 erinevat massiivid 206 00:12:56,390 --> 00:13:01,760 sarnaste tükki teavet saan ühendada need JavaScript objekti. 207 00:13:01,760 --> 00:13:07,150 Võtame pilk seda. 208 00:13:07,150 --> 00:13:11,740 Teatis Mul on ainult üks array ülaosas nüüd 209 00:13:11,740 --> 00:13:17,650 ja mida ma olen teinud on ja see on lihtsalt JavaScript süntaks omamoodi 210 00:13:17,650 --> 00:13:21,350 luues sõnasõnaline versioon objekt 211 00:13:21,350 --> 00:13:24,670 ja märgata on 2 omadusi, nii et meil on todo, 212 00:13:24,670 --> 00:13:29,660 ja see hoitakse koos, kas see on täielik või mitte. 213 00:13:29,660 --> 00:13:31,000 See on väga sarnane kood. 214 00:13:31,000 --> 00:13:35,310 Me kasutame JavaScript objektid. 215 00:13:35,310 --> 00:13:38,600 Selline parandab asju. 216 00:13:38,600 --> 00:13:43,850 Nagu nüüd, kõik need valdkonnad seotud teavet hoitakse kokku. 217 00:13:43,850 --> 00:13:46,410 Kui me läheme välja trükkida, saame juurdepääsu valdkondades. 218 00:13:46,410 --> 00:13:49,060 >> Märka, kuidas me teeme todos [i]. Täielik 219 00:13:49,060 --> 00:13:52,880 kontrollimise asemel täielik array eraldi, 220 00:13:52,880 --> 00:13:56,560 ja teate, kui me tahame saada ülesannete string me saada ülesannete kinnisvara 221 00:13:56,560 --> 00:13:58,750 selle ülesande, et selline mõistlik, sest 222 00:13:58,750 --> 00:14:01,660 iga kirje on nende omaduste midagi. 223 00:14:01,660 --> 00:14:05,650 See on todo, ja see on, kas see on täielik või mitte. 224 00:14:05,650 --> 00:14:11,540 Mitte liiga palju muudatusi seal funktsionaalselt, lihtsalt lisada mõned rohkem kood. 225 00:14:11,540 --> 00:14:13,430 See on parem mõned rindel, eks? 226 00:14:13,430 --> 00:14:16,030 Ma mõtlen, et me tegureid kavandamisel natuke. 227 00:14:16,030 --> 00:14:20,350 Nüüd on meil objektid põhiliselt kapseldada need andmed. 228 00:14:20,350 --> 00:14:27,130 Kas on veel midagi mida me teha saame siit poolest JavaScript? 229 00:14:27,130 --> 00:14:31,810 Nagu teate, et see kood siin 230 00:14:31,810 --> 00:14:34,760 saada sisemine HTML div 231 00:14:34,760 --> 00:14:40,520 on vähe, siis ma arvan, pikk. 232 00:14:40,520 --> 00:14:45,100 Seal document.getElementById ("todos"). InnerHTML. 233 00:14:45,100 --> 00:14:48,400 Üks asi, mida me võiksime teha, et see kood vaatama natuke sõbralikumaks 234 00:14:48,400 --> 00:14:51,450 nii et ma ei pea pidama kerimine vasakule ja paremale, edasi ja tagasi, 235 00:14:51,450 --> 00:14:58,480 on mulle kuluks raamatukogu nagu jQuery. 236 00:14:58,480 --> 00:15:02,710 >> Vaatame Seminar 2 237 00:15:02,710 --> 00:15:05,880 ja see on sama kood, kuid ta on teinud koos jQuery. 238 00:15:05,880 --> 00:15:08,790 Sa ei pruugi olla liiga tuttav jQuery, 239 00:15:08,790 --> 00:15:11,510 kuid lihtsalt tean, et jQuery on omamoodi raamatukogu JavaScript 240 00:15:11,510 --> 00:15:15,910 mis muudab lihtsamaks teha asju nagu juurdepääs üksikuid elemente DOM. 241 00:15:15,910 --> 00:15:21,280 Siin asemel, et öelda document.getElementById ("todos"). InnerHTML 242 00:15:21,280 --> 00:15:25,210 Oskan kasutada palju puhtam viis jQuery, 243 00:15:25,210 --> 00:15:28,490 mis on lihtsalt kasutada valijad. 244 00:15:28,490 --> 00:15:31,300 Nagu näete, see kood ei saada veidi puhtam, 245 00:15:31,300 --> 00:15:35,770 väga sarnane funktsionaalselt, kuid see on idee. 246 00:15:35,770 --> 00:15:37,980 Me oleme näinud paar asja nii kaugele, 247 00:15:37,980 --> 00:15:42,010 nii alustasime lihtsalt toores JavaScript rakendamiseks. 248 00:15:42,010 --> 00:15:45,370 Oleme lisanud uusi funktsioone ja näitas, kuidas saame parandada seda 249 00:15:45,370 --> 00:15:49,090 just see, mida meil on JavaScript. 250 00:15:49,090 --> 00:15:53,300 >> Kas keegi näha kõiki raskusi selle kujundus? 251 00:15:53,300 --> 00:16:01,090 Nimelt, ma arvan, või ei pruugi olla raskusi aga oletame 252 00:16:01,090 --> 00:16:04,830 me ei tee to-do list projekti ja homme oleme otsustanud 253 00:16:04,830 --> 00:16:10,320 me tahtsime teha toidupoed nimekirja või ostunimekirja projekti. 254 00:16:10,320 --> 00:16:14,150 Palju need omadused on väga sarnased. 255 00:16:14,150 --> 00:16:19,080 Palju asju, mida me tahame saada välja JavaScript on väga levinud, 256 00:16:19,080 --> 00:16:23,820 ja see rõhutab vajadust mingi viis 257 00:16:23,820 --> 00:16:25,670 tehes seda lihtsam teha. 258 00:16:25,670 --> 00:16:30,400 Mul oli üles ehitada see kõik HTML juurdepääs, kõik see DOM juurdepääsu, 259 00:16:30,400 --> 00:16:35,530 nagu ma lähen esindavad Ülesanded selle mudeliga. 260 00:16:35,530 --> 00:16:39,130 Ja teate ma olen vastutav nii JavaScript arendaja 261 00:16:39,130 --> 00:16:42,890 pidamise HTML ja JavaScript, et mul on sünkroonis. 262 00:16:42,890 --> 00:16:48,040 Miski automaatselt tehtud, et JavaScript esindus 263 00:16:48,040 --> 00:16:51,590 või ülesannete nimekirja saada surunud läbi HTML. 264 00:16:51,590 --> 00:16:54,000 Miski jõustada et peale minu. 265 00:16:54,000 --> 00:16:56,880 Ma pidin kirjutama draw to-do list funktsioon. 266 00:16:56,880 --> 00:17:01,650 Ja see ei pruugi olla, ma mõtlen, et see on mõistlik seda teha, 267 00:17:01,650 --> 00:17:03,670 kuid see võib olla tüütu mõnikord. 268 00:17:03,670 --> 00:17:08,190 Kui teil on suurem projekt, mis võib olla raske. 269 00:17:08,190 --> 00:17:10,720 >> Raamistikud, mille üks eesmärk raamistike 270 00:17:10,720 --> 00:17:14,060 on lihtsustada, et protsess ja omamoodi tegur välja 271 00:17:14,060 --> 00:17:16,950 Nende ühine-Ma arvan, et võiks öelda, disaini mustrite 272 00:17:16,950 --> 00:17:20,700 et inimesed on tavaliselt mingi viis esindavad andmed, 273 00:17:20,700 --> 00:17:25,599 kas see on sõprade nimekirja, kas see kaart andmed 274 00:17:25,599 --> 00:17:27,280 või midagi või to-do list. 275 00:17:27,280 --> 00:17:30,660 Mõned inimesed on tavaliselt viis esindavad andmed, 276 00:17:30,660 --> 00:17:33,650 ja nad tavaliselt on vaja hoida seda teavet omamoodi sünkroonis 277 00:17:33,650 --> 00:17:36,520 vahel, mida kasutaja näeb mingi arvates 278 00:17:36,520 --> 00:17:39,850 räägi nii nagu mudel vaatamiseks töötleja et nägid loengus, 279 00:17:39,850 --> 00:17:45,400 ja siis mudel, mis antud juhul on see JavaScript massiivi. 280 00:17:45,400 --> 00:17:49,020 Raamistikud annavad meile viis seda probleemi lahendada. 281 00:17:49,020 --> 00:17:53,080 Nüüd võtame pilk rakendamise ülesanded 282 00:17:53,080 --> 00:18:02,360 raamistikus nimetatakse angularjs. 283 00:18:02,360 --> 00:18:04,650 See on see. Teade see sobib slide. 284 00:18:04,650 --> 00:18:07,330 Mul ei ole kerida vasakule ja paremale. 285 00:18:07,330 --> 00:18:10,460 See ilmselt ei ole suurt põhjust soovitame kasutada raamistikku, 286 00:18:10,460 --> 00:18:20,120 aga teate ma kunagi tutvumise üksikute HTML elemente siin? 287 00:18:20,120 --> 00:18:22,400 Kas ma olen kunagi laskumist DOM? 288 00:18:22,400 --> 00:18:26,120 Kas näete document.getElementById või midagi sellist? 289 00:18:26,120 --> 00:18:29,870 Ei, see on läinud. 290 00:18:29,870 --> 00:18:35,590 >> Nurga aitab meil hoida DOM ja meie JavaScript esindatus midagi 291 00:18:35,590 --> 00:18:40,430 liiki sünkroonis, nii et kui see ei ole js faili 292 00:18:40,430 --> 00:18:46,790 kui seal on kuidagi võimalik programmiliselt saada kõik, et HTML-sisu 293 00:18:46,790 --> 00:18:51,800 alates JavaScript kuidas hoiame seda sünkroonis? 294 00:18:51,800 --> 00:18:58,160 Kui see ei ole. Js faili, see sai olla HTML, eks? 295 00:18:58,160 --> 00:19:01,910 See on uus versioon HTML-faili, 296 00:19:01,910 --> 00:19:04,660 ja teate oleme lisanud palju siin. 297 00:19:04,660 --> 00:19:11,110 Teade seal need uued omadused, mis ütlevad ng-click ja ng-repeat. 298 00:19:11,110 --> 00:19:15,650 Nurga lähenemine selle probleemi lahendamiseks raskusi disain 299 00:19:15,650 --> 00:19:19,130 on põhimõtteliselt teha HTML palju võimsam. 300 00:19:19,130 --> 00:19:24,420 Nurga on tee, mis võimaldab teil teha HTML mõnevõrra rohkem väljendusrikas. 301 00:19:24,420 --> 00:19:30,520 Näiteks võin ma öelda, et ma lähen lips või siduda selle teksti kasti 302 00:19:30,520 --> 00:19:35,080 muutuva jooksul minu Nurga JavaScripti koodi. 303 00:19:35,080 --> 00:19:37,030 See ng-mudel teeb just seda. 304 00:19:37,030 --> 00:19:41,550 Et põhimõtteliselt ütleb, et objekt sees selle teksti kasti 305 00:19:41,550 --> 00:19:45,000 lihtsalt seostada, et koos muutuva new_todo_description 306 00:19:45,000 --> 00:19:47,870 jooksul JavaScript kood. 307 00:19:47,870 --> 00:19:51,600 See on väga võimas, sest ma ei pea otseselt minna 308 00:19:51,600 --> 00:19:53,310 DOM saada seda teavet. 309 00:19:53,310 --> 00:19:56,250 Mul ei ole öelda document.getElementById. 310 00:19:56,250 --> 00:19:58,750 Ma ei pea kasutama jQueries nagu DOM juurdepääs. 311 00:19:58,750 --> 00:20:03,280 Ma ei seosta seda muutuja, ja siis, kui ma saan muuta, et muutuja 312 00:20:03,280 --> 00:20:07,400 jooksul JavaScript see hoitakse sünkroonis HTML, 313 00:20:07,400 --> 00:20:11,640 et lihtsustab võttes minna edasi ja tagasi nende kahe vahel. 314 00:20:11,640 --> 00:20:18,260 Kas see on loogiline? 315 00:20:18,260 --> 00:20:22,060 >> Ja teate pole HTML koodi. 316 00:20:22,060 --> 00:20:27,760 Me oleme lihtsalt tehtud HTML võimsam, 317 00:20:27,760 --> 00:20:32,070 ja nüüd, näiteks saame teha asju nagu see, 318 00:20:32,070 --> 00:20:38,610 nagu siis, kui klõpsate seda, nimetame seda funktsiooni piires todos.js, 319 00:20:38,610 --> 00:20:43,410 ja me võiksime teha, et enne, kuid on ka teisi asju, nagu see ng-mudel, 320 00:20:43,410 --> 00:20:47,020 ja teate see ng-repeat. 321 00:20:47,020 --> 00:20:51,520 Mis sa arvad, et see teeb? 322 00:20:51,520 --> 00:20:54,390 Siin on meie ebakorrapärane nimekirja enne. 323 00:20:54,390 --> 00:20:56,470 Meil on ul silte 324 00:20:56,470 --> 00:21:03,710 kuid ma kunagi muuta see nimekiri sees JavaScript koodi? 325 00:21:03,710 --> 00:21:09,280 Ma ei kunagi otseselt muuta, et nimekirja. 326 00:21:09,280 --> 00:21:11,580 Kuidas see töötab? 327 00:21:11,580 --> 00:21:16,410 Noh, kuidas Nurga saavutatakse see on seda nimetatakse repeater. 328 00:21:16,410 --> 00:21:22,760 Põhimõtteliselt see ütleb, et ma tahan printida HTML 329 00:21:22,760 --> 00:21:26,240 iga todo sees minu todos massiivi. 330 00:21:26,240 --> 00:21:31,850 Toas todos.jr on todos array siin, 331 00:21:31,850 --> 00:21:37,910 ja see ütleb Nurga kõike läbi massiivi ja iga element näete 332 00:21:37,910 --> 00:21:41,390 Ma tahan, et sa printida HTML. 333 00:21:41,390 --> 00:21:44,620 See on omamoodi lahe, sest ma ei saa lihtsalt teha seda 334 00:21:44,620 --> 00:21:47,760 ilma et kirjutada silmus, 335 00:21:47,760 --> 00:21:52,250 mis jaoks to-do list, mis oli vaid 30 rida koodi 336 00:21:52,250 --> 00:21:54,700 pruugi olla kõige kasulikum asi, 337 00:21:54,700 --> 00:22:01,240 aga kui sul on suur projekt, see võib saada väga mugav. 338 00:22:01,240 --> 00:22:06,100 >> See on üks lahendus sellele probleemile, muutes HTML võimsam, 339 00:22:06,100 --> 00:22:10,820 ja mis võimaldab meil hoida JavaScript ja HTML sünkroonis. 340 00:22:10,820 --> 00:22:13,220 On ka teisi võimalusi, kuidas seda probleemi lahendada, 341 00:22:13,220 --> 00:22:15,320 ja mitte iga raames teeb. 342 00:22:15,320 --> 00:22:17,720 Mitte iga raames töötab selles suunas. 343 00:22:17,720 --> 00:22:19,490 Mõned raamistikud on erinevad lähenemised, 344 00:22:19,490 --> 00:22:23,310 ja te leiate, et te naudite kodeerimine ühes raamistik teiste üle. 345 00:22:23,310 --> 00:22:26,160 Vaatame veel üks. 346 00:22:26,160 --> 00:22:30,060 See on to-do list kodeeritud üles raames kutsutakse selgroog. 347 00:22:30,060 --> 00:22:33,250 Ma lähen läbi selle kiiresti. 348 00:22:33,250 --> 00:22:38,300 Ma alustada HTML enne kui me sinna minna. 349 00:22:38,300 --> 00:22:40,290 Üks hetk. 350 00:22:40,290 --> 00:22:43,950 Alustades HTML, nagu te teate, meie HTML on väga sarnane 351 00:22:43,950 --> 00:22:50,000 et see, mis oli enne, nii et ei ole liiga palju uut, et esiküljel. 352 00:22:50,000 --> 00:22:55,410 Aga meie js fail on veidi erinev. 353 00:22:55,410 --> 00:23:00,360 Selgroog omamoodi on see mõte, või põhineb idee 354 00:23:00,360 --> 00:23:04,750 et palju sellest, mida me teeme, ütleme, meie JavaScript projektide 355 00:23:04,750 --> 00:23:09,110 on mõelda mudelid ja kogusid need mudelid. 356 00:23:09,110 --> 00:23:12,510 See võiks olla näiteks, foto-ja fotokogu, 357 00:23:12,510 --> 00:23:16,230 või idee sõber ja kogud sõbrad. 358 00:23:16,230 --> 00:23:20,700 Ja Sageli, kui me programmeerimine JavaScript rakendusi 359 00:23:20,700 --> 00:23:25,340 me omamoodi esindama ideele kogumik sõbrad 360 00:23:25,340 --> 00:23:29,500 kuidagi JavaScript ja selgroog annab meile selle kihi 361 00:23:29,500 --> 00:23:33,040 peal JavaScript olemasolevate massiivide ja objektide 362 00:23:33,040 --> 00:23:38,300 teha võimsamad asjad selle kergemini. 363 00:23:38,300 --> 00:23:41,870 >> Siin ma olen määratletud Ülesanded mudeli 364 00:23:41,870 --> 00:23:44,630 ja sa ei pea muretsema liiga palju süntaks, 365 00:23:44,630 --> 00:23:48,730 kuid märkad, et mis see üks omadusi? 366 00:23:48,730 --> 00:23:53,190 See on vaikimisi valdkonnas. 367 00:23:53,190 --> 00:23:56,640 Selgroog võimaldab mul täpsustada juba ära nahkhiir 368 00:23:56,640 --> 00:24:00,190 iga uue ülesande, et ma luua läheb on need vaikimisi. 369 00:24:00,190 --> 00:24:04,100 Nüüd ma saan kohandada seda, kuid on võimalik määrata vaikimisi 370 00:24:04,100 --> 00:24:07,220 on kena, ja see on omamoodi mugav, sest see ei ole midagi, mis on nagu 371 00:24:07,220 --> 00:24:10,430 omane JavaScript, ja nüüd ma ei pea otseselt 372 00:24:10,430 --> 00:24:12,430 öelda, et todos on puudulikud. 373 00:24:12,430 --> 00:24:19,190 Võin öelda õigus ära nahkhiir et todos hakkavad olema märgitud puudulik. 374 00:24:19,190 --> 00:24:21,300 Teade siis mis see on? 375 00:24:21,300 --> 00:24:25,520 Nüüd on mul to-do list ja see kogumine. 376 00:24:25,520 --> 00:24:30,960 Teade valdkonnas, mis on seotud mis ütleb mudel todo. 377 00:24:30,960 --> 00:24:33,390 See on minu viis öelda selgroog, mis 378 00:24:33,390 --> 00:24:37,350 Ma mõelda kogumise individuaalse todos. 379 00:24:37,350 --> 00:24:42,140 See on põhimõtteliselt näidise mu programmi. 380 00:24:42,140 --> 00:24:44,980 Siin on mul idee kogumine, 381 00:24:44,980 --> 00:24:48,960 ja põhiliselt kirjeid et kogumine on kõik saab olema need todos, 382 00:24:48,960 --> 00:24:51,910 ja see on väga loomulik selles mõttes 383 00:24:51,910 --> 00:24:59,890 sest mul on todos, ja mul on nende kogumist. 384 00:24:59,890 --> 00:25:02,940 >> Vaatame veidi rohkem seda. 385 00:25:02,940 --> 00:25:05,900 Siin on selgroog vaade. 386 00:25:05,900 --> 00:25:08,890 Teine asi, et selgroog on öeldud vaid, et 387 00:25:08,890 --> 00:25:14,660 palju mudeleid, mis sa mõtled või isegi kollektsioonid 388 00:25:14,660 --> 00:25:19,150 hakkavad olema mingi võimalus on kuvatud. 389 00:25:19,150 --> 00:25:21,900 Meil on vaja muuta, et to-do list, 390 00:25:21,900 --> 00:25:25,460 ja kas ei oleks tore, kui me võiks iga mudeli 391 00:25:25,460 --> 00:25:28,390 või suhtleb iga mudel seda seisukohta 392 00:25:28,390 --> 00:25:34,020 mis võimaldab meil vist ühendada kaks koos? 393 00:25:34,020 --> 00:25:38,320 Kui enne oli meil kasutada silmus, mis jookseb läbi 394 00:25:38,320 --> 00:25:41,130 iga todo meie nimekirja ja siis välja printida siit 395 00:25:41,130 --> 00:25:44,650 saame põhimõtteliselt ühendada selle mudeliga. 396 00:25:44,650 --> 00:25:47,550 See on, et ülevaade. 397 00:25:47,550 --> 00:25:50,550 See on seotud todo leidsime varem. 398 00:25:50,550 --> 00:25:54,940 Nüüd iga todo on kuvatava või renderable 399 00:25:54,940 --> 00:25:56,960 selle, et ülevaade. 400 00:25:56,960 --> 00:25:59,440 Teade mõned väljad. 401 00:25:59,440 --> 00:26:05,880 Mis sa arvad, et see Muutujanimede on Muutujanimede: li? 402 00:26:05,880 --> 00:26:09,790 Tuletage meelde enne, kui me tahtsime muuta todo 403 00:26:09,790 --> 00:26:16,700 oleks meil selgelt siduda meie todos selle li tag. 404 00:26:16,700 --> 00:26:21,080 Nüüd me ütleme, et kui see todo läheb elama 405 00:26:21,080 --> 00:26:25,250 saab olema sees li tag. 406 00:26:25,250 --> 00:26:31,440 Ja nüüd me oleme ka ühendavate ürituste meie todos. 407 00:26:31,440 --> 00:26:34,320 >> Iga todo on see üks sündmus. 408 00:26:34,320 --> 00:26:38,480 Kui klõpsate päris palju tumblernupu, et see, mida ma tahan öelda on, 409 00:26:38,480 --> 00:26:43,080 siis põhimõtteliselt tähistada todo nagu vastand, mis see oli enne 410 00:26:43,080 --> 00:26:45,890 ja seejärel uuesti muuta taotluse. 411 00:26:45,890 --> 00:26:47,810 See on omamoodi sarnane kood enne. 412 00:26:47,810 --> 00:26:50,730 Mäletad, kui me märgistada see kas vastupidi või- 413 00:26:50,730 --> 00:26:52,410 ja siis me uuesti pidasid. 414 00:26:52,410 --> 00:26:57,750 Aga teate nüüd selle sündmuse varem midagi, mis oli HTML. 415 00:26:57,750 --> 00:26:59,640 Ta istus seal. 416 00:26:59,640 --> 00:27:01,410 Nupp oli klikkide. 417 00:27:01,410 --> 00:27:05,310 Kui klõpsate nuppu, millist ei kraami 418 00:27:05,310 --> 00:27:07,210 loodud, et todo olla puudulik. 419 00:27:07,210 --> 00:27:11,180 Siin me oleme seotud, et kui klõpsate et tumblernupu 420 00:27:11,180 --> 00:27:15,830 ja tagasikäik, kas see on sees või väljas selle seisukohaga. 421 00:27:15,830 --> 00:27:20,480 >> See on tore viis luua see sündmus, nii et see on väga tihedalt seotud 422 00:27:20,480 --> 00:27:26,980 Selle vaate ja nii teate selle ühe rohkem. 423 00:27:26,980 --> 00:27:31,050 Mul on see Render meetod, ja me ei pea minema läbi üksikasjad. 424 00:27:31,050 --> 00:27:33,650 See on selline sarnane sellega, mis meil oli enne, 425 00:27:33,650 --> 00:27:36,070 aga teate ma ei silmukoiminen läbi midagi. 426 00:27:36,070 --> 00:27:40,700 Ma ei prindi, et ul tag see on justkui ootus, et ma lähen printida kõik elemendid. 427 00:27:40,700 --> 00:27:46,610 Ma pakkudes funktsionaalsust muutes selle ühe ülesande objekt. 428 00:27:46,610 --> 00:27:49,400 See on väga võimas mõiste, sest põhimõtteliselt 429 00:27:49,400 --> 00:27:53,600 meie to-do list koosneb kõigi nende todos, ja kas me saame põhimõtteliselt määrata 430 00:27:53,600 --> 00:27:56,890 kuidas muuta üks neist todos 431 00:27:56,890 --> 00:28:04,230 siis saame meie võimas selgroog iseenesest muudaks kõik todos 432 00:28:04,230 --> 00:28:07,760 helistades Render meetod üksikute todos. 433 00:28:07,760 --> 00:28:14,180 See on mõiste, mis on kasulik siin. 434 00:28:14,180 --> 00:28:18,160 Nüüd on hea küsimus küsida, kuidas see taotlus on kokku pandud? 435 00:28:18,160 --> 00:28:21,200 Kuna meil on võime muuta üks todo, 436 00:28:21,200 --> 00:28:23,860 kuid kuidas me saame idee mitu todos? 437 00:28:23,860 --> 00:28:25,100 >> Võtame pilk seda. 438 00:28:25,100 --> 00:28:27,100 See on viimane osa. 439 00:28:27,100 --> 00:28:29,740 Teade meil to-do list silmas siin, 440 00:28:29,740 --> 00:28:34,440 ja teate see on ka vaade. 441 00:28:34,440 --> 00:28:36,970 Ja minna üle paar asja, 442 00:28:36,970 --> 00:28:45,280 see initsialiseerida meetod kutsutakse kui me esimest korda luua selle to-do list. 443 00:28:45,280 --> 00:28:52,630 Nagu näete, see on nagu luues to-do list ja seostama seda seisukohta. 444 00:28:52,630 --> 00:28:57,860 Ja siis ma lisada funktsioone siin nii põhimõtteliselt kui lisate item- 445 00:28:57,860 --> 00:29:01,440 see on sarnane AddItem meetod nägime enne- 446 00:29:01,440 --> 00:29:07,430 Ma lähen, et luua uus todo objekt ja teate ma olen tegelikult kutsudes 447 00:29:07,430 --> 00:29:13,080 see uus todo meetod, nii et see annab selgroog, 448 00:29:13,080 --> 00:29:16,010 ja ma ei liigu minu omadused siin. 449 00:29:16,010 --> 00:29:23,710 Ja nüüd iga todo et ma loon kasutades saad selle funktsionaalsus, mida me nägime enne. 450 00:29:23,710 --> 00:29:28,140 Teade Ma kliiring läbi tekstikasti enne-väike väike detail- 451 00:29:28,140 --> 00:29:32,900 ja siis ma olen lisades sellele kogumikule. 452 00:29:32,900 --> 00:29:37,630 >> See peaaegu tundub imelik, sest enne me lihtsalt pidin seda tegema, todos.push, 453 00:29:37,630 --> 00:29:43,310 ja siis me olime teinud, ja see võib tunduda keerulisem selle konkreetse projekti 454 00:29:43,310 --> 00:29:46,980 ja te võite leida, et selgroog või isegi Nurga või muu raamistiku 455 00:29:46,980 --> 00:29:50,790 ei sobi teie konkreetne projekt, kuid ma arvan, et see on oluline mõelda 456 00:29:50,790 --> 00:29:54,100 mida see tähendab suuremas mastaabis suuremate projektide puhul, 457 00:29:54,100 --> 00:29:56,610 sest kui meil oleks suurem projekt, kus me olime esindavad 458 00:29:56,610 --> 00:30:00,860 mõned tõesti keeruline kogu, midagi sügavamat kui lihtsalt to-do list, 459 00:30:00,860 --> 00:30:04,490 oletame sõprade nimekirja või midagi sellist, see võib tulla mugav 460 00:30:04,490 --> 00:30:09,620 sest me võiks korraldada meie koodi tõesti mugav viis, 461 00:30:09,620 --> 00:30:12,550 nii, et oleks lihtsam keegi 462 00:30:12,550 --> 00:30:16,820 kes tahtis tõstatada projekti tugineda. 463 00:30:16,820 --> 00:30:21,450 Te näete, et see pakub palju struktuuri. 464 00:30:21,450 --> 00:30:26,580 Ja siis ma helistan muudavad selle AddItem. 465 00:30:26,580 --> 00:30:31,050 Render, nagu näete, ja sa ei pea mõista seda täielikult süntaks, 466 00:30:31,050 --> 00:30:37,790 kuid põhimõtteliselt iga mudeli, et see saab helistada individuaalne Render meetod. 467 00:30:37,790 --> 00:30:41,500 See on omamoodi kus see pärineb. 468 00:30:41,500 --> 00:30:44,140 Olgem lihtsalt täpsustada, kuidas muuta üksikute todos, 469 00:30:44,140 --> 00:30:47,310 ja siis lähme liimi need kokku tervikuna. 470 00:30:47,310 --> 00:30:49,810 Aga see annab viis veevõtu 471 00:30:49,810 --> 00:30:55,470 sest ma võiks muuta seda, kuidas ma otsustan, et muuta individuaalsed todos, 472 00:30:55,470 --> 00:30:57,940 ja ma ei pea midagi muuta koodi. 473 00:30:57,940 --> 00:31:00,700 See on omamoodi lahe. 474 00:31:00,700 --> 00:31:08,540 >> Kas keegi on küsimusi JavaScript raamistike? 475 00:31:08,540 --> 00:31:14,310 [Student kuuldamatu küsimus] 476 00:31:14,310 --> 00:31:16,050 Oh, muidugi, see on suur küsimus. 477 00:31:16,050 --> 00:31:19,080 Küsimus oli, kuidas ma lisada raamistike? 478 00:31:19,080 --> 00:31:22,970 Enamik JavaScript raamistikud on põhimõtteliselt ainult js failid 479 00:31:22,970 --> 00:31:25,740 et saate lisada ülaosas oma kood. 480 00:31:25,740 --> 00:31:29,830 Teade peas osa oma HTML on mul kõik need script silte 481 00:31:29,830 --> 00:31:34,250 ja lõplik script tag on kood, mida me oleme kirjutanud. 482 00:31:34,250 --> 00:31:38,820 Ja siis 3 raames koodid on lihtsalt ka script sildid. 483 00:31:38,820 --> 00:31:42,110 Ma olen ka neid, mida nimetatakse CDN, 484 00:31:42,110 --> 00:31:46,200 mis võimaldab mul saada kuskilt mujalt seda sel hetkel 485 00:31:46,200 --> 00:31:57,930 kuid iga raamistik on see-saab päris palju leida sisu 486 00:31:57,930 --> 00:32:03,540 konkreetse JavaScript raamatukogu saadaval mõned CDN või midagi sellist, 487 00:32:03,540 --> 00:32:05,570 ja siis võid lisada neid script sildid. 488 00:32:05,570 --> 00:32:07,600 Kas see on loogiline? 489 00:32:07,600 --> 00:32:09,500 Lahe. 490 00:32:09,500 --> 00:32:11,730 >> Need on 2 erinevat lähenemist. 491 00:32:11,730 --> 00:32:14,640 Need ei ole ainult lähenemisviisid selle probleemi lahendamiseks. 492 00:32:14,640 --> 00:32:17,080 Seal on palju erinevaid asju, 493 00:32:17,080 --> 00:32:19,490 keegi võiks teha, ja seal on palju raamistike seal. 494 00:32:19,490 --> 00:32:23,300 Nurga ja selgroog ei ütle kogu lugu. 495 00:32:23,300 --> 00:32:26,370 Õnn oma lõpliku projekti ja tänan teid väga palju. 496 00:32:31,960 --> 00:32:35,000 [CS50.TV]