1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [سمینار ها] [جاوا اسکریپت چارچوب: چرا و چگونه؟] 2 00:00:02,000 --> 00:00:04,000 [کوین Schmid در] [دانشگاه هاروارد] 3 00:00:04,000 --> 00:00:06,960 [این CS50 است.] و [CS50.TV،] 4 00:00:06,960 --> 00:00:10,630 >> سلام به همگی. به جاوا اسکریپت قاب سمینار خوش آمدید. 5 00:00:10,630 --> 00:00:14,910 نام من کوین است، و امروز من قصد دارم به صحبت کردن در مورد چارچوب های جاوا اسکریپت، 6 00:00:14,910 --> 00:00:20,400 و هدف از این سمینار به شما، می گویند، استاد یک چارچوب خاص فی نفسه نیست 7 00:00:20,400 --> 00:00:23,810 اما به شما معرفی گسترده ای را به یک زن و شوهر از چارچوب 8 00:00:23,810 --> 00:00:27,150 را نشان دهد و به همین دلیل است که ما هرگز مایل به استفاده از یک چارچوب. 9 00:00:27,150 --> 00:00:31,060 >> قبل از من انجام این کار، من یک پس زمینه کمی در جاوا اسکریپت ارائه، 10 00:00:31,060 --> 00:00:33,750 و پس از آن خواهیم آن را از وجود دارد. 11 00:00:33,750 --> 00:00:36,270 ما قصد داریم تا با اجرای یک لیست TO-DO است. 12 00:00:36,270 --> 00:00:39,330 در اینجا لیست کار ما برای امروز است. 13 00:00:39,330 --> 00:00:41,990 این نوع خنده دار است. ما به پیاده سازی یک لیست در جاوا اسکریپت به انجام. 14 00:00:41,990 --> 00:00:45,110 این همان چیزی است که آن را به مانند نگاه، به طوری که اولین هدف ما است. 15 00:00:45,110 --> 00:00:47,160 ما قصد داریم به استفاده از یک چارچوب برای انجام این کار. 16 00:00:47,160 --> 00:00:51,930 ما قصد داریم به کدهای جاوا اسکریپت و دریافت لیست به انجام کار. 17 00:00:51,930 --> 00:00:54,370 سپس ما قصد داریم برای بهبود طراحی بدون استفاده از چارچوب است. 18 00:00:54,370 --> 00:00:57,190 ما قصد داریم به بحث در مورد چیزهای مختلف ما می توانیم با فقط جاوا اسکریپت به تنهایی انجام دهید 19 00:00:57,190 --> 00:01:00,650 را به فهرست کارهای کمی بیشتر به خوبی طراحی شده است. 20 00:01:00,650 --> 00:01:02,490 سپس ما قصد داریم به پرتاب در برخی از jQuery، 21 00:01:02,490 --> 00:01:05,030 و پس از آن ما قصد داریم در همان نگاه کنید به فهرست کارهای روزانه، 22 00:01:05,030 --> 00:01:07,170 فقط در چارچوب های مختلف اجرا شده است و به بررسی 23 00:01:07,170 --> 00:01:09,280  جوانب مثبت و منفی در طول راه. 24 00:01:09,280 --> 00:01:12,040 >> بیایید شروع پیاده سازی است که به فهرست کارهای روزانه. 25 00:01:12,040 --> 00:01:14,270 بیایید می گویند ما این HTML داده شده است. 26 00:01:14,270 --> 00:01:16,620 من قصد دارم به این کمی کوچکتر است. 27 00:01:16,620 --> 00:01:19,300 همانطور که می بینید، من یک ضربه سر کوچک است که می گوید TODO 28 00:01:19,300 --> 00:01:21,740 و یک جعبه کوچک که در آن من می توانم شرح TODO را وارد کنید 29 00:01:21,740 --> 00:01:26,990 و سپس دکمه آیتم جدید، پس بیایید سعی کنید را وارد کنید یک TODO جدید به این لیست است. 30 00:01:26,990 --> 00:01:31,000 به چارچوبهای سمینار جاوا اسکریپت، 31 00:01:31,000 --> 00:01:33,090 و من به آمار آیتم جدید. 32 00:01:33,090 --> 00:01:35,730 من این هشدار جاوا اسکریپت را که می گوید اجرای من. 33 00:01:35,730 --> 00:01:37,560 ما باید به پیاده سازی آن. 34 00:01:37,560 --> 00:01:41,490 بیایید چک کردن این کد، HTML و JavaScript در مرورگر شما هر دو. 35 00:01:41,490 --> 00:01:43,260 HTML ما است. 36 00:01:43,260 --> 00:01:45,500 همانطور که شما در اینجا می توانید ببینید، در اینجا، هدر کمی Todos ما است. 37 00:01:45,500 --> 00:01:47,620 این چیزی که جسورانه در بالا بود، 38 00:01:47,620 --> 00:01:50,690 و پس از آن ما باید به جعبه ورودی با حفره یا سوراخ، 39 00:01:50,690 --> 00:01:59,460 و پس از آن یک ویژگی خاصی از این دکمه که خواستار این تابع addTodo وجود دارد. 40 00:01:59,460 --> 00:02:05,460 آیا کسی می خواهم به حدس زدن آنچه که در کلیک دلالت است؟ 41 00:02:05,460 --> 00:02:07,390 [پاسخ دانشجویی نامفهوم] 42 00:02:07,390 --> 00:02:09,289 خوب، بر روی کلیک نوعی مانند یک رویداد. 43 00:02:09,289 --> 00:02:12,120 مانند کلیک ماوس فقط یک رویداد، و آنچه ما انجام می دهیم این است 44 00:02:12,120 --> 00:02:16,890 این است که ما در حال به تساوی صورت کلیک بر روی این دکمه برای اجرای آن تابع است. 45 00:02:16,890 --> 00:02:21,700 AddTodo این event handler برای کلیک کردن بر روی این دکمه می باشد. 46 00:02:21,700 --> 00:02:25,010 >> همانطور که می بینید، هنگامی که با کلیک بر روی دکمه آیتم جدید 47 00:02:25,010 --> 00:02:29,940 رویداد کلیک بر روی اخراج می شود، و این تابع می شود نامیده می شود. 48 00:02:29,940 --> 00:02:33,170 اجازه دهید در تابع نگاه کنید. 49 00:02:33,170 --> 00:02:36,260 همانطور که می بینید، در اینجا کد های جاوا اسکریپت من تا کنون است. 50 00:02:36,260 --> 00:02:41,280 ساختار داده های جهانی برای به فهرست کارهای من چیزی که من در بالا است. 51 00:02:41,280 --> 00:02:44,060 آن را مانند یک آرایه به نظر می رسد. این یک آرایه خالی است. 52 00:02:44,060 --> 00:02:47,100 و پس من باید تابع addTodo که ما قبلا دیدم، 53 00:02:47,100 --> 00:02:50,740 و تنها خط کد در آن وجود دارد این هشدار است. 54 00:02:50,740 --> 00:02:55,730 این هشدار اجرای من، و پس از آن من 2 وظایف در دست است. 55 00:02:55,730 --> 00:02:58,790 من برای اضافه کردن TODO به آن ساختار داده های جهانی، 56 00:02:58,790 --> 00:03:01,860 و پس از آن من می خواهم را به منظور جلب لیست TO-DO است. 57 00:03:01,860 --> 00:03:06,360 هیچ چیز بیش از حد تصور است، اما جاوا اسکریپت شما ممکن است با آن آشنا نیستند، 58 00:03:06,360 --> 00:03:12,370 بنابراین من قصد دارم به رفتن آهسته و بررسی مبانی جاوا اسکریپت را در آن راه. 59 00:03:12,370 --> 00:03:15,490 >> اجازه دهید یک شوت زیبا به این. 60 00:03:15,490 --> 00:03:21,130 بیایید می گویند که کاربر وارد چیزی در این جعبه است. 61 00:03:21,130 --> 00:03:23,360 من فقط چیزی در اینجا، متن تایپ شده است. 62 00:03:23,360 --> 00:03:27,620 چگونه می توانم دسترسی به آن متن را از طریق جاوا اسکریپت مرتب کردن بر اساس من؟ 63 00:03:27,620 --> 00:03:32,500 به یاد داشته باشید که جاوا اسکریپت، یکی از ویژگی های اساسی آن این است که آن را به ما می دهد 64 00:03:32,500 --> 00:03:34,670 این دسترسی برنامه ریزی شده به DOM است. 65 00:03:34,670 --> 00:03:40,670 این به ما اجازه می دهد برای دسترسی به عناصر و خواص خود را از این HTML واقعی است. 66 00:03:40,670 --> 00:03:43,430 روشی که ما انجام است که با لخت استخوان جاوا اسکریپت 67 00:03:43,430 --> 00:03:51,360 ما در واقع می تواند استفاده از یک تابع در جاوا اسکریپت به نام getElementByID. 68 00:03:51,360 --> 00:03:55,140 من می خواهم برای ذخیره متن است که وجود دارد در برخی از متغیر تایپ، 69 00:03:55,140 --> 00:03:58,350 بنابراین من قصد دارم برای گفتن یک متغیر جدید به نام new_todo، 70 00:03:58,350 --> 00:04:01,980 و من قصد دارم برای به دست آوردن آن عنصر است. 71 00:04:01,980 --> 00:04:06,330 این یک تابع getElementByID است. 72 00:04:06,330 --> 00:04:11,580 و در حال حاضر من گرفتن یک عنصر ID، بنابراین من نیاز به ID که جعبه متن، 73 00:04:11,580 --> 00:04:15,860 بنابراین من آن را new_todo_description ID داده ام. 74 00:04:15,860 --> 00:04:18,399 که چگونه من قصد دارم برای به دست آوردن یک عنصر است. 75 00:04:18,399 --> 00:04:23,880 که استدلال من به این تابع، به مشخص که ID برای به دست آوردن. 76 00:04:23,880 --> 00:04:28,110 و به طوری که یک عنصر HTML است، و آن را دارای خواص. 77 00:04:28,110 --> 00:04:30,650 شما این را دیده ام. آنها ویژگی هستند. 78 00:04:30,650 --> 00:04:37,090 ویژگی عنصر متنی است که ورودی کاربر را ذخیره ارزش نامیده می شود. 79 00:04:37,090 --> 00:04:40,860 من در حال حاضر در این متغیر نام new_todo است را نجات داد ارزش که جعبه متن. 80 00:04:40,860 --> 00:04:45,040 در حال حاضر من دسترسی برنامه ریزی شده به این متغیر، که نوع خنک 81 00:04:45,040 --> 00:04:49,200 زیرا در حال حاضر آنچه که من می تواند انجام دهد این است من می توانید آن را به لیست کارهای من اضافه کنید. 82 00:04:49,200 --> 00:04:52,870 >> راه ما این کار را در انجام جاوا اسکریپت و نگران نباشید اگر شما با این ناآشنا هستید، 83 00:04:52,870 --> 00:04:57,010 اما فقط رفتن را از طریق آن todos.push است 84 00:04:57,010 --> 00:05:00,130 زیرا که نام ساختار داده های جهانی من در اینجا، 85 00:05:00,130 --> 00:05:04,450 و من قصد دارم به فشار new_todo. 86 00:05:04,450 --> 00:05:09,120 این فوق العاده است چون در حال حاضر من آن را به جاوا اسکریپت من 87 00:05:09,120 --> 00:05:11,280 نمایندگی که به فهرست کارهای روزانه. 88 00:05:11,280 --> 00:05:15,170 اما در حال حاضر چگونه می توانم آن را دریافت کنم به HTML؟ 89 00:05:15,170 --> 00:05:18,560 من برای پیدا کردن یک راه برای مرتب کردن بر اساس فشار آن را به عقب. 90 00:05:18,560 --> 00:05:21,830 به عبارت دیگر، من نوعی باید این را به منظور جلب. 91 00:05:21,830 --> 00:05:26,060 چه ما قصد داریم انجام دهیم این است که ما قصد داریم به منظور جلب لیست به انجام. 92 00:05:26,060 --> 00:05:29,270 من نیاز به به روز رسانی HTML دیگر در آن صفحه، 93 00:05:29,270 --> 00:05:32,040 و همانطور که می بینید، من این ظرف کوچک باقی مانده در اینجا، 94 00:05:32,040 --> 00:05:36,840 این تقسیم از صفحه که ID todos، 95 00:05:36,840 --> 00:05:40,870 و من قصد دارم برای قرار دادن لیست به انجام وجود دارد. 96 00:05:40,870 --> 00:05:47,240 در ابتدا من به رفتن به آن روشن است، زیرا، می گویند، به فهرست کارهای قدیمی وجود دارد. 97 00:05:47,240 --> 00:05:49,560 من گرفتن که عنصر ID دوباره، 98 00:05:49,560 --> 00:05:54,530 و من دسترسی به HTML درونی آن عنصر، 99 00:05:54,530 --> 00:05:58,010 و من قصد دارم به روشن است که. 100 00:05:58,010 --> 00:06:05,510 اگر ما این کد را به عنوان است، ما می خواهم هیچ چیز خالی وجود دارد، 101 00:06:05,510 --> 00:06:10,410 و در حال حاضر من می خواهم برای شروع ارائه جدید را به فهرست کارهای من. 102 00:06:10,410 --> 00:06:12,870 من اساسا رفتن به پاک کردن به فهرست کارهای من. 103 00:06:12,870 --> 00:06:18,180 >> حالا داخل HTML که todos دیو درونی کاملا روشن است، 104 00:06:18,180 --> 00:06:20,060 و در حال حاضر من نیاز به شروع به اضافه کردن لیست من. 105 00:06:20,060 --> 00:06:23,890 اولین چیزی که من می خواهم برای اضافه کردن برچسب لیست نامرتب است، 106 00:06:23,890 --> 00:06:33,890 که اساسا بیانگر گزینه ای است که پاسخ دادن که این آغاز یک لیست نامرتب. 107 00:06:33,890 --> 00:06:39,770 در حال حاضر برای هر عنصر آرایه todos من من می خواهم به نسخه قابل چاپ کردن آن در داخل از آن HTML. 108 00:06:39,770 --> 00:06:43,710 من می خواهم به آن الحاق به پایین به این لیست است. 109 00:06:43,710 --> 00:06:49,040 درست مانند در C، من می توانم یک حلقه for استفاده کنید، و من قصد دارم برای شروع در ابتدای لیست من 110 00:06:49,040 --> 00:06:54,140 در عنصر 0، و من قصد دارم به رفتن تمام راه را به طول لیست. 111 00:06:54,140 --> 00:07:01,100 ما در واقع می تواند طول آرایه در جاوا اسکریپت با استفاده از طول ملک را دریافت کنید. 112 00:07:01,100 --> 00:07:03,420 در واقع من قصد دارم برای انجام کاری بسیار مشابه در داخل از اینجا 113 00:07:03,420 --> 00:07:05,600 برای چاپ کردن آن عنصر است. 114 00:07:05,600 --> 00:07:12,970 من دوباره می توانید دسترسی DIV todos، اموال درونی HTML که، 115 00:07:12,970 --> 00:07:17,560 و من قصد دارم برای اضافه کردن این آیتم لیست جدید، و که رفتن به احاطه 116 00:07:17,560 --> 00:07:25,390 این تگ LI، و من قصد دارم به الحاق با استفاده از عملگر +، 117 00:07:25,390 --> 00:07:28,040 و که عنصر i ام آرایه todos من است، 118 00:07:28,040 --> 00:07:32,380 و سپس من قصد دارم به نزدیک که برچسب. 119 00:07:32,380 --> 00:07:36,240 در حال حاضر برای هر عنصر خواهیم یک ورودی لیست جدید اضافه کنید. 120 00:07:36,240 --> 00:07:48,700 و سپس همه ما واقعا نیاز به انجام است که تگ نزدیک کردن. 121 00:07:48,700 --> 00:07:52,820 من فقط نیاز به بستن که برچسب لیست نامرتب است. 122 00:07:52,820 --> 00:07:55,490 >> آیا احساس چگونه است که با این نسخهها کار می کنید؟ 123 00:07:55,490 --> 00:07:57,700 این لیست کامل باز می شود. 124 00:07:57,700 --> 00:08:01,080 این می افزاید: عناصر منحصر به فرد از لیست todos به لیست، 125 00:08:01,080 --> 00:08:05,470 و پس از آن که می بندد لیست کامل، و که این تابع addTodo من است. 126 00:08:05,470 --> 00:08:09,590 من اساسا با گرفتن TODO از جعبه متن آغاز خواهد شد. 127 00:08:09,590 --> 00:08:18,950 اضافه کنم که به آرایه todos، و سپس من دوباره ارائه لیست به انجام. 128 00:08:18,950 --> 00:08:21,520 در حال حاضر من می توانید آیتم به لیست اضافه کنید. 129 00:08:21,520 --> 00:08:24,620 این نوع از هیجان انگیز است زیرا فقط در چند خط کد 130 00:08:24,620 --> 00:08:28,240 ما اساسا ساخته شده ام یک لیست به انجام که در آن ما می توانید آیتم اضافه کنید. 131 00:08:28,240 --> 00:08:30,050 بزرگ است. 132 00:08:30,050 --> 00:08:34,480 این نوع مقدمه ای اساسی به جاوا اسکریپت است. 133 00:08:34,480 --> 00:08:36,179 بیش از حد نگران نباشید نحو در حال حاضر، 134 00:08:36,179 --> 00:08:38,130 اما فکر می کنم در مورد این مفهومی است. 135 00:08:38,130 --> 00:08:40,539 ما برخی HTML. 136 00:08:40,539 --> 00:08:45,310 ما یک جعبه متن در صفحه ای که کاربران اساسا مجاز به ورودی یک آیتم به انجام به اضافه کردن بود. 137 00:08:45,310 --> 00:08:49,210 و سپس ما با استفاده از جاوا اسکریپت برای واکشی که TODO از آن جعبه متن. 138 00:08:49,210 --> 00:08:52,830 ما ذخیره می شود که در داخل یک آرایه جاوا اسکریپت، است که اساسا مانند 139 00:08:52,830 --> 00:08:56,010 نمایش برنامه ریزی شده ما از آن به فهرست کارهای روزانه، 140 00:08:56,010 --> 00:08:59,060 و سپس ما آن را چاپ کرد. 141 00:08:59,060 --> 00:09:02,690 این todos.js است. 142 00:09:02,690 --> 00:09:07,620 >> این نوع سرد است، اما چگونه می توان از این بیشتر؟ 143 00:09:07,620 --> 00:09:11,350 خب، همانطور که می بینید، این مثل این است که کامل به فهرست کارهای روزانه نیست. 144 00:09:11,350 --> 00:09:15,100 به عنوان مثال، می توانید هر یک از این اقلام به عنوان ناقص علامت نیست، 145 00:09:15,100 --> 00:09:19,920 می خواهم اگر من می خواستم به reprioritize آیتم یا آیتم های حذف. 146 00:09:19,920 --> 00:09:23,150 این خوب است، اما ما می توانیم این را بیشتر. 147 00:09:23,150 --> 00:09:29,280 من قصد ندارم به صحبت کردن بیش از حد در مورد اضافه کردن خصوصیات اضافی، 148 00:09:29,280 --> 00:09:32,800 اما ما می تواند آن را بیشتر کنند. 149 00:09:32,800 --> 00:09:35,970 اجازه دهید بحث در مورد اضافه کردن یکی از ویژگی های دیگر به این فهرست کارها، 150 00:09:35,970 --> 00:09:40,370 است که قادر به چک کردن فرد به انجام آیتم 151 00:09:40,370 --> 00:09:44,780 و آن را عبور از، بنابراین اساسا و گفت من انجام داده ام این است. 152 00:09:44,780 --> 00:09:50,240 اجازه دهید در برخی از کد است که می تواند انجام رساندن آن نگاه کنید. 153 00:09:50,240 --> 00:09:52,740 آنچه من در بالا انجام داده ام من اضافه شده است 154 00:09:52,740 --> 00:09:57,620 یک آرایه جهانی جدید به نام کامل است. 155 00:09:57,620 --> 00:10:02,890 من اساسا با استفاده از این برای ذخیره اینکه آیا اقلام در لیست TO-DO 156 00:10:02,890 --> 00:10:06,560 کامل یا نه. 157 00:10:06,560 --> 00:10:08,470 این یک راه برای انجام این کار است. 158 00:10:08,470 --> 00:10:13,750 اگر من در اجرای این، صفحه نمایش، نگاه کنید 159 00:10:13,750 --> 00:10:21,120 اساسا اگر من وارد TODO و من روی این دکمه کلیک ضامن 160 00:10:21,120 --> 00:10:25,040 آن می گذرد، بنابراین هر آیتم در این لیست است یا کامل 161 00:10:25,040 --> 00:10:31,050 و یا دولت ناقص، و من با استفاده از آرایه دیگری برای نشان دادن آن است. 162 00:10:31,050 --> 00:10:33,730 >> در واقع برای هر TODO در آن آرایه todos 163 00:10:33,730 --> 00:10:37,110 یک آیتم وجود دارد در آرایه کامل است که در واقع نشان می دهد 164 00:10:37,110 --> 00:10:39,060 که آیا که کامل و یا نه. 165 00:10:39,060 --> 00:10:41,640 من تا به حال برای ایجاد تغییرات بسیار کم است به این کد، 166 00:10:41,640 --> 00:10:44,470 بنابراین در اینجا تابع addTodo ما است. 167 00:10:44,470 --> 00:10:48,530 توجه کنید که در اینجا من آن را هل دادن بر روی آرایه، 168 00:10:48,530 --> 00:10:51,300 و سپس من هل دادن 0 به که مجموعه ای کامل، 169 00:10:51,300 --> 00:10:57,090 اساسا در موازات با آن فشار TODO جدیدی برای گفتن 170 00:10:57,090 --> 00:11:00,430 من اضافه کردن این مورد، و آن را با این مقدار همراه، 171 00:11:00,430 --> 00:11:02,810 که بدان معنی است که آن را ناقص است. 172 00:11:02,810 --> 00:11:04,970 و سپس من ترسیم لیست TO-DO است. 173 00:11:04,970 --> 00:11:09,220 در حال حاضر، متوجه من این تابع drawTodoList ارسال شده ایم. 174 00:11:09,220 --> 00:11:11,760 این طول می کشد زیادی از کد ما قبل تا به حال، 175 00:11:11,760 --> 00:11:15,320 اساسا پاک از جعبه و سپس تساوی به فهرست کارهای روزانه. 176 00:11:15,320 --> 00:11:19,620 اما توجه کنید که در داخل این حلقه ما در حال انجام کمی در حال حاضر بیش. 177 00:11:19,620 --> 00:11:25,000 ما اساسا چک کردن اعم از قلم دوم از اقلام مربوط به TODO i ام در اینجا 178 00:11:25,000 --> 00:11:30,220 کامل است، و ما در حال رفتار متفاوت در این 2 شرایط. 179 00:11:30,220 --> 00:11:32,790 اگر آن را کامل، ما در حال اضافه کردن این تگ به دل، 180 00:11:32,790 --> 00:11:35,360 است که اساسا راه که شما می توانید از طریق اعتصاب اثر 181 00:11:35,360 --> 00:11:38,190 عبور از لیست به انجام اگر آن را کامل، 182 00:11:38,190 --> 00:11:42,200 و اگر این طور نیست، ما آن را از جمله نیست. 183 00:11:42,200 --> 00:11:45,030 و به طوری که نوع طول می کشد مراقبت از آن، 184 00:11:45,030 --> 00:11:49,140 >> و این یک راه برای انجام این کار است. 185 00:11:49,140 --> 00:11:53,420 و پس از آن متوجه زمانی که کاربر یکی از این کلیک 186 00:11:53,420 --> 00:11:56,780 ما ضامن وضعیت تکمیل از آن. 187 00:11:56,780 --> 00:12:02,170 هنگامی که کلیک کاربر، خواهیم معکوس آن است که آیا تکمیل شده است یا نه، 188 00:12:02,170 --> 00:12:04,540 و سپس ما آن را ترسیم خواهیم کرد. 189 00:12:04,540 --> 00:12:06,190 این نوع آثار است. 190 00:12:06,190 --> 00:12:09,860 ما باید این توابع است که وظایف خود را انجام می دهند، 191 00:12:09,860 --> 00:12:11,730 و این خوب است. 192 00:12:11,730 --> 00:12:14,110 آیا چیزی هست که ما می توانیم در این مورد انجام دهید بهتر است، هر چند وجود دارد؟ 193 00:12:14,110 --> 00:12:18,700 توجه داشته باشید ما باید این 2 آرایه های جهانی. 194 00:12:18,700 --> 00:12:23,550 اگر این C بود، و ما تا به حال 2 آرایه که به نوعی نشان داده 195 00:12:23,550 --> 00:12:25,800 داده هایی را که مرتب سازی بر اساس در برخی از راه مرتبط 196 00:12:25,800 --> 00:12:30,140 آنچه که در C استفاده می کنیم برای ترکیب این 2 زمینه 197 00:12:30,140 --> 00:12:35,420 به چیزی است که هر دو قطعه از اطلاعات را کپسوله؟ 198 00:12:35,420 --> 00:12:37,600 هر کسی می خواهید به نظر؟ 199 00:12:37,600 --> 00:12:39,450 [پاسخ دانشجویی نامفهوم] 200 00:12:39,450 --> 00:12:42,340 >> دقیقا، بنابراین ما می تواند برخی از نوع از ساختارها (struct) استفاده کنید، 201 00:12:42,340 --> 00:12:44,960 و اگر شما فکر می کنم، می گویند، 3 pset، 202 00:12:44,960 --> 00:12:47,350 به یاد داشته باشید ما تا به حال فرهنگ لغت، و پس از آن ما تا به حال اینکه آیا کلمه 203 00:12:47,350 --> 00:12:50,230 در فرهنگ لغت بود، و تمام این اطلاعات با هم قرار گرفت 204 00:12:50,230 --> 00:12:52,420 در داخل برخی از ساختمان داده. 205 00:12:52,420 --> 00:12:56,390 یک چیزی که من می توانم با این کد انجام دهد برای اجتناب از نیاز این 2 آرایه های مختلف 206 00:12:56,390 --> 00:13:01,760 برای قطعات مشابه اطلاعات است من می توانم آنها را به یک شی جاوا اسکریپت ترکیب. 207 00:13:01,760 --> 00:13:07,150 بیایید نگاهی که در آن. 208 00:13:07,150 --> 00:13:11,740 توجه کنید من فقط یک آرایه در بالا در حال حاضر 209 00:13:11,740 --> 00:13:17,650 و آنچه من انجام داده ام و این فقط نحو جاوا اسکریپت برای مرتب سازی 210 00:13:17,650 --> 00:13:21,350 ایجاد نسخه تحت اللفظی از یک شی، 211 00:13:21,350 --> 00:13:24,670 و متوجه 2 خواص وجود دارد، بنابراین ما باید TODO، 212 00:13:24,670 --> 00:13:29,660 و آن را همراه با آن است که آیا کامل یا ناقص نگه داشته شود. 213 00:13:29,660 --> 00:13:31,000 این کد بسیار مشابه است. 214 00:13:31,000 --> 00:13:35,310 ما با استفاده از اشیاء جاوا اسکریپت. 215 00:13:35,310 --> 00:13:38,600 این نوع از چیزهای را بهبود می بخشد. 216 00:13:38,600 --> 00:13:43,850 مثل همین الان، تمام این زمینه ها اطلاعات مرتبط با هم نگه داشته شود. 217 00:13:43,850 --> 00:13:46,410 هنگامی که ما به آن را چاپ کند، ما می توانیم زمینه دسترسی داشته باشید. 218 00:13:46,410 --> 00:13:49,060 >> توجه داشته باشید که چگونه ما در حال انجام todos های [i]. کامل 219 00:13:49,060 --> 00:13:52,880 به جای چک کردن آرایه کامل به طور جداگانه، 220 00:13:52,880 --> 00:13:56,560 و متوجه زمانی که ما می خواهیم به رشته به کار ما در حال گرفتن اموال به انجام 221 00:13:56,560 --> 00:13:58,750 که TODO، بنابراین این نوع را حس می کند به دلیل 222 00:13:58,750 --> 00:14:01,660 هر فقره این از خواص ذاتی در مورد آن است. 223 00:14:01,660 --> 00:14:05,650 این TODO، و آن این است که آیا آن را به کامل و یا نه. 224 00:14:05,650 --> 00:14:11,540 نه بیش از حد بسیاری از تغییرات عملکرد وجود دارد، افزود: برخی از کد. 225 00:14:11,540 --> 00:14:13,430 این بهبود در برخی از جبهه ها، درست است؟ 226 00:14:13,430 --> 00:14:16,030 منظورم این است که، ما عامل از طراحی کمی. 227 00:14:16,030 --> 00:14:20,350 در حال حاضر ما اشیاء به اساسا در محفظهای قرار دادن این اطلاعات است. 228 00:14:20,350 --> 00:14:27,130 آیا چیزی هست که ما می توانند از اینجا در نظر جاوا اسکریپت را انجام دهد وجود دارد؟ 229 00:14:27,130 --> 00:14:31,810 می خواهم توجه داشته باشید که این کد در اینجا 230 00:14:31,810 --> 00:14:34,760 برای گرفتن HTML درونی از یک div 231 00:14:34,760 --> 00:14:40,520 کمی است، من حدس می زنم، طولانی. 232 00:14:40,520 --> 00:14:45,100 document.getElementByID وجود دارد ("todos"). innerHTML بطوری. 233 00:14:45,100 --> 00:14:48,400 یک چیزی که ما می توانیم انجام دهید تا به این کد نگاه کنید کمی دوستانهتر 234 00:14:48,400 --> 00:14:51,450 بنابراین من نمی خواهد به نگه داشتن اسکرول چپ و راست، جلو و عقب، 235 00:14:51,450 --> 00:14:58,480 من می توانم یک کتابخانه مانند جی کوئری استفاده کنید. 236 00:14:58,480 --> 00:15:02,710 >> اجازه چک کردن سمینار 2، 237 00:15:02,710 --> 00:15:05,880 و این کد همان است، اما آن را با jQuery انجام می شود. 238 00:15:05,880 --> 00:15:08,790 شما ممکن است بیش از حد آشنا با jQuery، 239 00:15:08,790 --> 00:15:11,510 اما فقط می دانم که مرتب کردن بر اساس جی کوئری یک کتابخانه جاوا اسکریپت است 240 00:15:11,510 --> 00:15:15,910 که باعث می شود آن را آسان تر را به انجام کارهای مانند دسترسی به عناصر منحصر به فرد از DOM. 241 00:15:15,910 --> 00:15:21,280 در اینجا به جای گفتن document.getElementByID ("todos"). innerHTML بطوری 242 00:15:21,280 --> 00:15:25,210 من می توانم راه پاک کننده بسیار در jQuery استفاده کنید، 243 00:15:25,210 --> 00:15:28,490 است که فقط به استفاده از انتخابگرهای. 244 00:15:28,490 --> 00:15:31,300 همانطور که می بینید، این کد کمی پاک کننده، 245 00:15:31,300 --> 00:15:35,770 بسیار شبیه عملکرد، اما این ایده. 246 00:15:35,770 --> 00:15:37,980 ما یک زن و شوهر از چیزهایی که دیده ام تا کنون، 247 00:15:37,980 --> 00:15:42,010 بنابراین ما با اجرای جاوا اسکریپت را فقط خام شده. 248 00:15:42,010 --> 00:15:45,370 ما ویژگی های جدید اضافه شده و نشان داد که چگونه ما می توانیم آن را با بهبود 249 00:15:45,370 --> 00:15:49,090 فقط آنچه که ما در جاوا اسکریپت. 250 00:15:49,090 --> 00:15:53,300 >> آیا هر کسی هر گونه مشکلات را با این طرح؟ 251 00:15:53,300 --> 00:16:01,090 یعنی، من حدس می زنم یا مشکلات لزوما نه، اما اجازه دهید بگویم 252 00:16:01,090 --> 00:16:04,830 ما انجام یک پروژه لیست به انجام، و فردا ما تصمیم گرفتیم 253 00:16:04,830 --> 00:16:10,320 ما می خواستیم را به یک لیست خرید و یا پروژه لیست خرید ها. 254 00:16:10,320 --> 00:16:14,150 بسیاری از این ویژگی ها خیلی مشابه هستند. 255 00:16:14,150 --> 00:16:19,080 بسیاری از چیزهایی که ما می خواهیم به خارج شدن از جاوا اسکریپت بسیار معمول است، 256 00:16:19,080 --> 00:16:23,820 و این امر نیاز به نوعی از راه 257 00:16:23,820 --> 00:16:25,670 ساخت این آسان تر به انجام. 258 00:16:25,670 --> 00:16:30,400 من تا به حال برای ساخت تا همه از این دسترسی HTML، تمام این دسترسی DOM، 259 00:16:30,400 --> 00:16:35,530 مثل من قصد دارم برای نشان دادن لیست TO-DO با این مدل است. 260 00:16:35,530 --> 00:16:39,130 و متوجه من مسئول به عنوان توسعهدهنده جاوا اسکریپت 261 00:16:39,130 --> 00:16:42,890 برای حفظ HTML و جاوا اسکریپت است که من در همگام. 262 00:16:42,890 --> 00:16:48,040 هیچ چیز به طور خودکار ساخته شده است که نمایندگی جاوا اسکریپت 263 00:16:48,040 --> 00:16:51,590 و یا لیست کارهای خارج HTML تحت فشار قرار دادند. 264 00:16:51,590 --> 00:16:54,000 هیچ چیز اجباری که به جز من. 265 00:16:54,000 --> 00:16:56,880 من تا به حال برای نوشتن قرعه کشی به انجام تابع لیست. 266 00:16:56,880 --> 00:17:01,650 و این ممکن است باشد، منظور من، آن را معقول و منطقی برای انجام این کار، 267 00:17:01,650 --> 00:17:03,670 اما ممکن است گاهی اوقات خسته کننده است. 268 00:17:03,670 --> 00:17:08,190 اگر شما یک پروژه بزرگتر، که می تواند مشکل باشد. 269 00:17:08,190 --> 00:17:10,720 >> چارچوب، یکی از اهداف از چارچوب 270 00:17:10,720 --> 00:17:14,060 ساده که روند و نوع از عامل از 271 00:17:14,060 --> 00:17:16,950 این مشترک من حدس می زنم شما می توانید از الگوهای می گویند طراحی 272 00:17:16,950 --> 00:17:20,700 که مردم به طور کلی دارای نوعی از راه به نمایندگی از داده ها، 273 00:17:20,700 --> 00:17:25,599 که آیا آن لیست دوستان است، چه که اطلاعات نقشه 274 00:17:25,599 --> 00:17:27,280 یا چیزی و یا یک لیست به انجام. 275 00:17:27,280 --> 00:17:30,660 برخی از افراد به طور کلی راه به نمایندگی از اطلاعات، 276 00:17:30,660 --> 00:17:33,650 و آنها به طور کلی نیاز به نگه داشتن آن نوع اطلاعات در همگام 277 00:17:33,650 --> 00:17:36,520 بین آنچه را که کاربر می بیند در نوعی از نظر، 278 00:17:36,520 --> 00:17:39,850 صحبت کردن در شرایط شبیه به مدل کنترل که شما در سخنرانی را دیدم، 279 00:17:39,850 --> 00:17:45,400 و پس از آن مدل، که در این مورد این آرایه جاوا اسکریپت است. 280 00:17:45,400 --> 00:17:49,020 چارچوب به ما یک راه برای حل این مشکل را. 281 00:17:49,020 --> 00:17:53,080 حالا اجازه دهید نگاهی به اجرای این فهرست کارها 282 00:17:53,080 --> 00:18:02,360 در چارچوب نام angularjs. 283 00:18:02,360 --> 00:18:04,650 این از آن است. توجه داشته باشید آن را بر روی یک اسلاید متناسب. 284 00:18:04,650 --> 00:18:07,330 من لازم نیست برای حرکت به سمت چپ و راست. 285 00:18:07,330 --> 00:18:10,460 که احتمالا یک دلیل بزرگ توصیه می شود که با استفاده از یک چارچوب نیست، 286 00:18:10,460 --> 00:18:20,120 اما توجه من همیشه دسترسی به عناصر HTML فردی اینجا؟ 287 00:18:20,120 --> 00:18:22,400 من همیشه رفتن به DOM؟ 288 00:18:22,400 --> 00:18:26,120 آیا هر document.getElementByID و یا چیزی شبیه به آن را می بینید؟ 289 00:18:26,120 --> 00:18:29,870 نه، این رفته است. 290 00:18:29,870 --> 00:18:35,590 >> زاویه ای کمک می کند تا ما را DOM و نمایندگی جاوا اسکریپت خود را از چیزی 291 00:18:35,590 --> 00:18:40,430 نوع از در همگام، پس اگر آن را در فایل JS، 292 00:18:40,430 --> 00:18:46,790 اگر هیچ راهی برای برنامه نویسی به تمام کسانی که محتوای HTML وجود دارد 293 00:18:46,790 --> 00:18:51,800 از JavaScript در مرورگر شما چگونه ما این نگهداری در همگام؟ 294 00:18:51,800 --> 00:18:58,160 اگر آن را در فایل JS. نیست، آن را رو در HTML باشد، درست است؟ 295 00:18:58,160 --> 00:19:01,910 این نسخه جدید از فایل HTML است، 296 00:19:01,910 --> 00:19:04,660 و متوجه شده ایم اضافه زیادی در اینجا. 297 00:19:04,660 --> 00:19:11,110 توجه داشته باشید این ویژگی های جدید که می گویند نانوگرم کلیک کنید و نانوگرم تکرار وجود دارد. 298 00:19:11,110 --> 00:19:15,650 رویکرد زاویه ای برای حل این مشکل از مشکلات در طراحی 299 00:19:15,650 --> 00:19:19,130 این است که اساسا HTML بسیار قوی تر کند. 300 00:19:19,130 --> 00:19:24,420 زاویه راه اجازه می دهد شما را به HTML تا حدودی رسا تر است. 301 00:19:24,420 --> 00:19:30,520 برای مثال، می توانم بگویم که من قصد دارم به کراوات یا اتصال این جعبه متن 302 00:19:30,520 --> 00:19:35,080 به متغیر درون من کد جاوا اسکریپت زاویه. 303 00:19:35,080 --> 00:19:37,030 این نانوگرم در مدل می کند که فقط. 304 00:19:37,030 --> 00:19:41,550 که اساسا می گوید که آیتم داخل این جعبه متن، 305 00:19:41,550 --> 00:19:45,000 تنها شریک که با new_todo_description متغیر ها 306 00:19:45,000 --> 00:19:47,870 در درون کد های جاوا اسکریپت. 307 00:19:47,870 --> 00:19:51,600 که بسیار قدرتمند چون من لازم نیست که به صراحت به 308 00:19:51,600 --> 00:19:53,310 DOM که برای دریافت اطلاعات. 309 00:19:53,310 --> 00:19:56,250 من لازم نیست می گویند document.getElementByID. 310 00:19:56,250 --> 00:19:58,750 من لازم نیست برای استفاده از jQueries مانند دسترسی به DOM. 311 00:19:58,750 --> 00:20:03,280 من می توانم آن را با یک متغیر مرتبط، و سپس وقتی که متغیر را عوض کنم 312 00:20:03,280 --> 00:20:07,400 در داخل جاوا اسکریپت آن را در همگام با HTML نگهداری، 313 00:20:07,400 --> 00:20:11,640 به طوری که ساده فرآیند نیاز به رفتن به جلو و عقب بین این دو است. 314 00:20:11,640 --> 00:20:18,260 آیا آن را حس؟ 315 00:20:18,260 --> 00:20:22,060 >> و توجه داشته باشید که هیچ یک از کدهای دسترسی HTML وجود دارد. 316 00:20:22,060 --> 00:20:27,760 ما فقط متنی قوی تر ساخته شده، 317 00:20:27,760 --> 00:20:32,070 و در حال حاضر، به عنوان مثال، ما می توانیم چیزهایی مثل این را انجام دهید، 318 00:20:32,070 --> 00:20:38,610 مانند زمانی که شما در این مورد کلیک کنید، با این تابع در دامنه todos.js، 319 00:20:38,610 --> 00:20:43,410 و ما می توانیم قبل از انجام این کار، اما چیزهای دیگر وجود دارد، مانند این نانوگرم در مدل، 320 00:20:43,410 --> 00:20:47,020 و متوجه این نانوگرم تکرار. 321 00:20:47,020 --> 00:20:51,520 شما چه فکر می کند؟ 322 00:20:51,520 --> 00:20:54,390 در اینجا لیست نامرتب ما از قبل است. 323 00:20:54,390 --> 00:20:56,470 ما باید تگ UL، 324 00:20:56,470 --> 00:21:03,710 اما من تا به حال ارائه آن فهرست در داخل از کد جاوا اسکریپت؟ 325 00:21:03,710 --> 00:21:09,280 من به صراحت همیشه ارائه آن فهرست. 326 00:21:09,280 --> 00:21:11,580 چگونه این کار می کند؟ 327 00:21:11,580 --> 00:21:16,410 خوب، راه زاویه ای انجام این است که این یک تکرار نامیده می شود. 328 00:21:16,410 --> 00:21:22,760 اساسا این می گوید که من می خواهم برای چاپ این HTML 329 00:21:22,760 --> 00:21:26,240 برای هر TODO داخل آرایه todos من. 330 00:21:26,240 --> 00:21:31,850 داخل todos.jr است یک آرایه todos حق در اینجا وجود دارد، 331 00:21:31,850 --> 00:21:37,910 و این کار بروید زاویه ای که از طریق آرایه بگویید، و برای هر عنصر می بینید 332 00:21:37,910 --> 00:21:41,390 من می خواهم به شما برای چاپ این HTML. 333 00:21:41,390 --> 00:21:44,620 این نوع بسیار جذاب است چون من فقط می تواند این کار را انجام دهند 334 00:21:44,620 --> 00:21:47,760 بدون نیاز به نوشتن یک حلقه for، 335 00:21:47,760 --> 00:21:52,250 که برای یک لیست کارهای که تنها 30 خط کد بود 336 00:21:52,250 --> 00:21:54,700 ممکن است مفید ترین چیز نیست، 337 00:21:54,700 --> 00:22:01,240 اما اگر شما یک پروژه بزرگ، این می تواند بسیار مناسب است. 338 00:22:01,240 --> 00:22:06,100 >> این یک راه حل برای این مشکل است، متنی قوی تر، 339 00:22:06,100 --> 00:22:10,820 و است که اجازه می دهد تا ما را به نگه داشتن جاوا اسکریپت و HTML در همگام. 340 00:22:10,820 --> 00:22:13,220 از دیگر راه های ممکن برای حل این مشکل وجود دارد، 341 00:22:13,220 --> 00:22:15,320 و نه هر چارچوب می کند. 342 00:22:15,320 --> 00:22:17,720 هر چارچوب نه در امتداد این خطوط کار می کند. 343 00:22:17,720 --> 00:22:19,490 برخی از چارچوبها نیز دارای روش های مختلف، 344 00:22:19,490 --> 00:22:23,310 و شما ممکن است دریابید که شما لذت بردن از برنامه نویسی در یک چارچوبی بیش از دیگر. 345 00:22:23,310 --> 00:22:26,160 اجازه دهید در یک نگاه. 346 00:22:26,160 --> 00:22:30,060 این لیست به کار در یک چارچوب به نام ستون فقرات کد است. 347 00:22:30,060 --> 00:22:33,250 من قصد دارم از طریق این سرعت. 348 00:22:33,250 --> 00:22:38,300 من با HTML شروع قبل از ما وجود دارد. 349 00:22:38,300 --> 00:22:40,290 یک دوم. 350 00:22:40,290 --> 00:22:43,950 با شروع HTML، که شما متوجه، HTML ما بسیار شبیه است 351 00:22:43,950 --> 00:22:50,000 به آنچه که قبل از آن، به طوری که نه بیش از حد بسیار جدید در این جبهه بود. 352 00:22:50,000 --> 00:22:55,410 اما فایل جی اس ما این است که کمی متفاوت است. 353 00:22:55,410 --> 00:23:00,360 نوع ستون فقرات از این ایده، یا ساخت بر اساس این ایده 354 00:23:00,360 --> 00:23:04,750 که بسیاری از آنچه که ما با انجام این کار، می گویند، ما پروژه های جاوا اسکریپت 355 00:23:04,750 --> 00:23:09,110 در مورد مدل ها و مجموعه ای از این مدل ها فکر می کنم. 356 00:23:09,110 --> 00:23:12,510 و این ممکن است، برای مثال، یک عکس و مجموعه عکس ها، 357 00:23:12,510 --> 00:23:16,230 یا ایده دوستان و مجموعه ای از دوستان است. 358 00:23:16,230 --> 00:23:20,700 و اغلب هنگامی که ما در حال برنامه نویسی برنامه های کاربردی جاوا اسکریپت 359 00:23:20,700 --> 00:23:25,340 خواهیم مرتب سازی بر اساس نشان دادن ایده داشتن یک مجموعه از دوستان 360 00:23:25,340 --> 00:23:29,500 به نحوی در جاوا اسکریپت، و ستون فقرات به ما می دهد این لایه 361 00:23:29,500 --> 00:23:33,040 در بالای آرایه های موجود جاوا اسکریپت و اشیاء 362 00:23:33,040 --> 00:23:38,300 برای انجام کارهای قوی تر با آن به راحتی. 363 00:23:38,300 --> 00:23:41,870 >> در اینجا من تعریف کرده ایم یک مدل TO-DO، 364 00:23:41,870 --> 00:23:44,630 و شما لازم نیست که به نگرانی بیش از حد در مورد نحو، 365 00:23:44,630 --> 00:23:48,730 اما توجه کنید که یکی از خواص این است؟ 366 00:23:48,730 --> 00:23:53,190 این زمینه به طور پیش فرض. 367 00:23:53,190 --> 00:23:56,640 ستون فقرات به من اجازه می دهد برای مشخص کردن خفاش 368 00:23:56,640 --> 00:24:00,190 هر به انجام این کار من ایجاد می خواهم که این پیش فرض است. 369 00:24:00,190 --> 00:24:04,100 در حال حاضر من می توانم این سفارشی است اما بخاطر این که قادر به تعیین پیش فرض 370 00:24:04,100 --> 00:24:07,220 خوب است، و آن را از نوع مناسب به دلیل این است چیزی که مانند 371 00:24:07,220 --> 00:24:10,430 ذاتی در جاوا اسکریپت، و در حال حاضر من به صراحت ندارد 372 00:24:10,430 --> 00:24:12,430 می گویند که todos ناقص هستند. 373 00:24:12,430 --> 00:24:19,190 می توانم بگویم حق کردن خفاش است که todos می رویم به عنوان ناقص مشخص شده اند. 374 00:24:19,190 --> 00:24:21,300 توجه داشته باشید پس از آن چه است؟ 375 00:24:21,300 --> 00:24:25,520 در حال حاضر من یک لیست به انجام، و این یک مجموعه است. 376 00:24:25,520 --> 00:24:30,960 توجه کنید زمینه های مرتبط با آن می گوید مدل TODO. 377 00:24:30,960 --> 00:24:33,390 به این ترتیب من از گفتن ستون فقرات است که 378 00:24:33,390 --> 00:24:37,350 من قصد دارم به تفکر در مورد مجموعه ای از این todos فردی. 379 00:24:37,350 --> 00:24:42,140 این است که اساسا ساختار مدل برای برنامه های من است. 380 00:24:42,140 --> 00:24:44,980 در اینجا من این ایده را از یک مجموعه، 381 00:24:44,980 --> 00:24:48,960 و اساسا آیتم های موجود در آن مجموعه همه برای رفتن به این todos، 382 00:24:48,960 --> 00:24:51,910 و این بسیار طبیعی به این معنا 383 00:24:51,910 --> 00:24:59,890 چون من مجبور todos، و من آنها را در یک مجموعه. 384 00:24:59,890 --> 00:25:02,940 >> اجازه دهید کمی بیشتر از این نگاه. 385 00:25:02,940 --> 00:25:05,900 در اینجا دیدگاه ستون فقرات است. 386 00:25:05,900 --> 00:25:08,890 چیز دیگری که ستون فقرات می گوید این است که 387 00:25:08,890 --> 00:25:14,660 بسیاری از مدل های که شما در حال فکر کردن در مورد و یا حتی مجموعه 388 00:25:14,660 --> 00:25:19,150 می رویم به نیاز به برخی از راه نمایش داده می شود. 389 00:25:19,150 --> 00:25:21,900 ما نیاز به ارائه فهرست کارها، 390 00:25:21,900 --> 00:25:25,460 و آن را نمی شود خوب بود اگر ما می تواند برای هر مدل ارائه 391 00:25:25,460 --> 00:25:28,390 و یا معاشرت با هر مدل این دیدگاه 392 00:25:28,390 --> 00:25:34,020 که به ما اجازه می دهد به من حدس می زنم با هم اتصال دو؟ 393 00:25:34,020 --> 00:25:38,320 در حالی که قبل از ما تا به حال به استفاده از یک حلقه که از طریق اجرا 394 00:25:38,320 --> 00:25:41,130 هر TODO در لیست ما و سپس آن را چاپ از اینجا 395 00:25:41,130 --> 00:25:44,650 ما در واقع می توانید آن را با این مدل ارتباط برقرار کنند. 396 00:25:44,650 --> 00:25:47,550 این دیدگاه به انجام است. 397 00:25:47,550 --> 00:25:50,550 این است با TODO که قبلا وجود. 398 00:25:50,550 --> 00:25:54,940 در حال حاضر هر TODO از Displayable یا Renderable را 399 00:25:54,940 --> 00:25:56,960 این به انجام دهید. 400 00:25:56,960 --> 00:25:59,440 توجه داشته باشید برخی از زمینه ها. 401 00:25:59,440 --> 00:26:05,880 شما چه فکر میکنید به این tagName، tagName: لی؟ 402 00:26:05,880 --> 00:26:09,790 به یاد داشته باشید قبل از زمانی که ما می خواستیم به ارائه TODO 403 00:26:09,790 --> 00:26:16,700 ما باید به صراحت todos ما با این تگ لی جفت. 404 00:26:16,700 --> 00:26:21,080 در حال حاضر ما در حال اعلام کرد که که این TODO گذرد، به زندگی 405 00:26:21,080 --> 00:26:25,250 رفتن به داخل تگ لی. 406 00:26:25,250 --> 00:26:31,440 و در حال حاضر ما در حال ارتباط رویدادی به todos ما. 407 00:26:31,440 --> 00:26:34,320 >> هر TODO این رویداد یکی است. 408 00:26:34,320 --> 00:26:38,480 اگر شما کلیک کنید خیلی دکمه ضامن، این چیزی است که من ادعا وجود دارد، 409 00:26:38,480 --> 00:26:43,080 پس از آن اساسا علامت TODO به عنوان مخالف از آنچه قبل از آن بود 410 00:26:43,080 --> 00:26:45,890 و سپس دوباره رندر نرم افزار. 411 00:26:45,890 --> 00:26:47,810 این نوع شبیه به کد قبل است. 412 00:26:47,810 --> 00:26:50,730 به یاد داشته باشید هنگامی که ما آن را به صورت مخالف یا مشخص 413 00:26:50,730 --> 00:26:52,410 و سپس ما آن را دوباره ارائه شده است. 414 00:26:52,410 --> 00:26:57,750 اما متوجه این رویداد استفاده می شود چیزی است که در HTML بود. 415 00:26:57,750 --> 00:26:59,640 آن نشسته بود وجود دارد. 416 00:26:59,640 --> 00:27:01,410 را فشار دهید تا به حال بر روی کلیک کنید. 417 00:27:01,410 --> 00:27:05,310 هنگامی که شما با کلیک بر روی دکمه، این نوع از مسائل به 418 00:27:05,310 --> 00:27:07,210 راه اندازی که TODO ناقص باشد. 419 00:27:07,210 --> 00:27:11,180 در اینجا ما که صورت کلیک کردن بر روی این دکمه ضامن 420 00:27:11,180 --> 00:27:15,830 و معکوس آن است که آیا روشن یا خاموش با این دیدگاه است. 421 00:27:15,830 --> 00:27:20,480 >> این روش خوبی برای راه اندازی این رویداد است به طوری که آن را بسیار محکم محدود 422 00:27:20,480 --> 00:27:26,980 این دیدگاه، و غیره متوجه این یکی بیشتر. 423 00:27:26,980 --> 00:27:31,050 من این روش رندر، و ما لازم نیست برای رفتن از طریق جزئیات. 424 00:27:31,050 --> 00:27:33,650 این نوع مشابه آنچه قبل از ما تا به حال، 425 00:27:33,650 --> 00:27:36,070 اما متوجه من از طریق هر چیزی حلقه نیست. 426 00:27:36,070 --> 00:27:40,700 من چاپ که برچسب UL که مرتب سازی بر اساس گفت: من قصد دارم تا در آن چاپ تمام عناصر نیست. 427 00:27:40,700 --> 00:27:46,610 من ارائه قابلیت برای ارائه این یکی به آیتم استفاده کنید. 428 00:27:46,610 --> 00:27:49,400 این مفهوم بسیار قدرتمند است زیرا اساسا 429 00:27:49,400 --> 00:27:53,600 به فهرست کارهای ما متشکل از تمام این todos، و اگر ما اساسا می توانید مشخص کنید 430 00:27:53,600 --> 00:27:56,890 راه را برای ارائه یکی از کسانی که todos 431 00:27:56,890 --> 00:28:04,230 سپس ما می توانیم به ستون فقرات قدرتمند ما فی نفسه ارائه تمام todos 432 00:28:04,230 --> 00:28:07,760 با فراخوانی متد رندر در todos فردی. 433 00:28:07,760 --> 00:28:14,180 این یک مفهوم است که در اینجا مفید است. 434 00:28:14,180 --> 00:28:18,160 حالا یک سوال خوب برای پرسیدن این است که چگونه این نرم افزار در حال کنار هم قرار دادن؟ 435 00:28:18,160 --> 00:28:21,200 از آنجا که ما توانایی ارائه یک TODO، 436 00:28:21,200 --> 00:28:23,860 اما چگونه می توانم ما ایده todos متعدد را دریافت کنم؟ 437 00:28:23,860 --> 00:28:25,100 >> بیایید نگاهی که در آن. 438 00:28:25,100 --> 00:28:27,100 این قسمت آخر است. 439 00:28:27,100 --> 00:28:29,740 توجه داشته باشید ما باید به انجام لیست در اینجا، 440 00:28:29,740 --> 00:28:34,440 و متوجه آن را نیز در نظر است. 441 00:28:34,440 --> 00:28:36,970 و به بیش از یک زن و شوهر از مسائل، 442 00:28:36,970 --> 00:28:45,280 این روش مقداردهی اولیه نامیده می شود زمانی که ما برای اولین بار این لیست TO-DO ایجاد کنید. 443 00:28:45,280 --> 00:28:52,630 همانطور که می بینید، آن را مانند ایجاد لیست به کار و ارتباط آن با این دیدگاه است. 444 00:28:52,630 --> 00:28:57,860 و سپس من توابع اضافه شده است بنابراین در اینجا اساسا زمانی که شما اضافه کردن یک آیتم 445 00:28:57,860 --> 00:29:01,440 این شبیه به روش addItem ما قبل دیدم 446 00:29:01,440 --> 00:29:07,430 من قصد دارم برای ایجاد یک شیء جدید TODO، و متوجه من در واقع خواستار 447 00:29:07,430 --> 00:29:13,080 این روش و TODO جدید، پس این است که ستون فقرات ارائه شده، 448 00:29:13,080 --> 00:29:16,010 و من می توانم در املاک من به اینجا منتقل می کند. 449 00:29:16,010 --> 00:29:23,710 و در حال حاضر هر TODO که من با استفاده از ایجاد این خواهد شد که قابلیت است که ما قبل از دیدم. 450 00:29:23,710 --> 00:29:28,140 توجه کنید من پاکسازی جعبه متن جزئیات قبل و کمی کوچک 451 00:29:28,140 --> 00:29:32,900 و سپس من اضافه کردن این مجموعه است. 452 00:29:32,900 --> 00:29:37,630 >> در این تقریبا عجیب و غریب به نظر می رسد چرا که قبل از ما فقط تا به حال برای انجام این کار todos.push، 453 00:29:37,630 --> 00:29:43,310 و پس از آن ما انجام شد و این ممکن است پیچیده تر است برای این پروژه خاص به نظر می رسد، 454 00:29:43,310 --> 00:29:46,980 و شما ممکن است که ستون فقرات و یا حتی زاویه ای و یا هر چارچوب دیگر پیدا کنید 455 00:29:46,980 --> 00:29:50,790 پروژه های خاص شما مناسب نیست، اما من فکر می کنم این مهم است که به فکر کردن در مورد 456 00:29:50,790 --> 00:29:54,100 آنچه در این به این معنی در مقیاس بزرگتر برای پروژه های بزرگ، 457 00:29:54,100 --> 00:29:56,610 چرا که اگر ما تا به حال یک پروژه بزرگتر که در آن ما به نمایندگی از 458 00:29:56,610 --> 00:30:00,860 برخی از مجموعه واقعا پیچیده، چیزی عمیق تر از فقط یک لیست به انجام، 459 00:30:00,860 --> 00:30:04,490 اجازه دهید می گویند لیست دوستان و یا چیزی شبیه به آن، این می تواند در مفید آمده است 460 00:30:04,490 --> 00:30:09,620 از آنجا که ما می توانند کد خود را در یک راه واقعا مناسب سازماندهی، 461 00:30:09,620 --> 00:30:12,550 در یک راه است که آن را برای شخص دیگری آسانتر می کند 462 00:30:12,550 --> 00:30:16,820 که می خواستند انتخاب کنید تا یک پروژه برای ساخت بر. 463 00:30:16,820 --> 00:30:21,450 شما می توانید ببینید که این فراهم می کند مقدار زیادی از ساختار. 464 00:30:21,450 --> 00:30:26,580 و سپس من خواستار در این addItem ارائه. 465 00:30:26,580 --> 00:30:31,050 بارگزاری صفحه، همانطور که می بینید، و شما لازم نیست که به درک این نحو کامل، 466 00:30:31,050 --> 00:30:37,790 اما اساسا برای هر مدل آن را برای رفتن به متد رندر فردی است. 467 00:30:37,790 --> 00:30:41,500 که مرتب سازی بر اساس جایی که این می آید از. 468 00:30:41,500 --> 00:30:44,140 بیایید فقط مشخص کنید که چگونه به ارائه todos فردی، 469 00:30:44,140 --> 00:30:47,310 و سپس اجازه دهید چسب آنها را با هم به عنوان یک کل. 470 00:30:47,310 --> 00:30:49,810 اما این فراهم می کند راه را از انتزاع، 471 00:30:49,810 --> 00:30:55,470 زیرا من می توانم راه من تصمیم به ارائه todos فردی را تغییر دهید، 472 00:30:55,470 --> 00:30:57,940 و من نمی خواهد مجبور به تغییر هر یک از این کد. 473 00:30:57,940 --> 00:31:00,700 که نوع سرد است. 474 00:31:00,700 --> 00:31:08,540 >> آیا هر کسی هر گونه سوال در مورد چارچوب های جاوا اسکریپت؟ 475 00:31:08,540 --> 00:31:14,310 [سوال دانشجویی نامفهوم] 476 00:31:14,310 --> 00:31:16,050 اوه، مطمئن شوید، این یک سوال بزرگ است. 477 00:31:16,050 --> 00:31:19,080 سوال این بود که من شامل چارچوب؟ 478 00:31:19,080 --> 00:31:22,970 اغلب چارچوب های جاوا اسکریپت در واقع فقط فایل JS 479 00:31:22,970 --> 00:31:25,740 که شما می توانید در بالای کد شما باشد. 480 00:31:25,740 --> 00:31:29,830 توجه کنید که در بخش سر HTML من من همه از این دستورات اسکریپت، 481 00:31:29,830 --> 00:31:34,250 و تگ اسکریپت نهایی کدی که ما نوشته شده است. 482 00:31:34,250 --> 00:31:38,820 و سپس 3 کد چارچوب تگ های اسکریپت هستند فقط همچنین. 483 00:31:38,820 --> 00:31:42,110 من آنها را از جمله از یک CDN به نام، 484 00:31:42,110 --> 00:31:46,200 که به من اجازه می دهد تا آن را دریافت کند از کسی دیگری در این نقطه 485 00:31:46,200 --> 00:31:57,930 اما هر چارچوب این شما می توانید تقریبا پیدا کردن مطالب 486 00:31:57,930 --> 00:32:03,540 برای یک کتابخانه جاوا اسکریپت خاص موجود در برخی از CDN یا چیزی شبیه به آن، 487 00:32:03,540 --> 00:32:05,570 و سپس شما می توانید از این برچسب ها شامل اسکریپت. 488 00:32:05,570 --> 00:32:07,600 آیا آن را حس؟ 489 00:32:07,600 --> 00:32:09,500 سرد است. 490 00:32:09,500 --> 00:32:11,730 >> کسانی که 2 روش متفاوت هستند. 491 00:32:11,730 --> 00:32:14,640 کسانی که تنها روش برای حل این مشکل نیست. 492 00:32:14,640 --> 00:32:17,080 هستند بسیاری از چیزهای مختلف وجود دارد که 493 00:32:17,080 --> 00:32:19,490 کسی می تواند انجام دهد، و بسیاری از چارچوب های خارج وجود دارد وجود دارد. 494 00:32:19,490 --> 00:32:23,300 و زاویه ای و ستون فقرات کل داستان نیست. 495 00:32:23,300 --> 00:32:26,370 موفق باشید با پروژه های نهایی خود را، و بسیار از شما سپاسگزارم. 496 00:32:31,960 --> 00:32:35,000 [CS50.TV]