دوره آموزشی
The Great Courses
دوبله زبان فارسی

ساخت کامپوننت‌های قابل‌ استفاده‌ مجدد در Angular - راهنمایی که جای آن خالی بود

ساخت کامپوننت‌های قابل‌ استفاده‌ مجدد در Angular - راهنمایی که جای آن خالی بود

✅ سرفصل و جزئیات آموزش

آنچه یاد خواهید گرفت:

  • ساخت کامپوننت‌های Angular بسیار قابل‌ استفاده‌م جدد و قابل‌ سفارشی‌ با استفاده از APIs مدرن Angular
  • اعمال الگوهای Content Projection برای ایجاد معماری‌های کامپوننتی انعطاف‌پذیر و composable
  • استفاده از ng-template و TemplateRef و ViewContainerRef برای کامپوزیشن پویاى رابط کاربری
  • تسلط به دایرکتیوهای عنصر (attribute) برای گسترش و بهبود عناصر موجود DOM
  • درک microsyntax در Angular (* syntax) و نحوه طراحی APIs شهودی برای دایرکتیو ساختاری
  • استفاده از ng-template و TemplateRef و ViewContainerRef برای ترکیب پویاى رابط کاربری
  • پیاده‌سازی دایرکتیو ساختاری برای گسترش رفتار کامپوننت به شکلی مقیاس‌پذیر
  • ساخت کامپوننت‌های قابل‌ تم‌سازی با استفاده از طراحی توکن‌ها و بهترین شیوه‌های استایل‌دهی در Angular
  • درک view encapsulation و اینکه Angular چگونه استایل‌ها را به‌ صورت داخلی رندر و محدوده‌بندی می‌کند.

پیش‌نیازهای دوره

  • تجربه پایه با Angular (کامپوننت‌ها، قالب‌ها، تزریق وابستگی
    و اتصال داده)
  • آشنایی با Angular مدرن (کامپوننت‌ها و سیگنال‌های مستقل)
  • درک پایه از HTML و CSS

توضیحات دوره

تسلط به کامپوننت‌های Angular همان چیزی است که توسعه‌دهندگان معمولی را از حرفه‌ای‌های واقعی جدا می‌کند.

این دوره با هدف تبدیل شما به متخصص در نوشتن کامپوننت در Angular 21 طراحی شده است. شما فراتر از کامپوننت‌های پایه می‌روید و بلوک‌های سازنده پیشرفته‌ای را که Angular ارائه می‌دهد یاد می‌گیرید:

  • دایرکتیوهای عنصر
  • دایرکتیو ساختاری
  • content projection
  • قالب‌ها
  • کامپوزیشن view پویا
  • و مهم‌تر از همه، اینکه اینها چگونه در کنار هم به الگوهای قدرتمند و کاربردی در دنیای واقعی تبدیل می‌شوند.

هسته اصلی دوره یک الگوی قدرتمند است: کامپوننت‌های Composable

به‌ جای ساخت کامپوننت‌هایی که تلاش می‌کنند همه‌ چیز را با ورودی ها و رابط های بی‌پایان انجام دهند، یاد می‌گیرید چگونه یک کامپوننت «هسته‌» سبک طراحی کنید که بتوان آن را با اجزای بیرونی گسترش داد و سفارشی کرد: قالب‌ها، دایرکتیوها و محتوای project شده

این رویکرد کامپوننت‌های شما را ساده نگه می‌دارد، در حالی که اجازه می‌دهد بدون پیچیدگی یا شکننده شدن، قابلیت‌هایشان افزایش پیدا کند. در نتیجه، کامپوننت‌های شما در سناریوهای مختلف انعطاف‌پذیر می‌مانند، بدون اینکه با گزینه‌های زیاد سنگین شوند.

به‌ جای ساخت کامپوننت‌هایی که خشک و محدود هستند، با ورودی‌های بیش از حد بارگذاری شده‌اند یا پر از پرچم هستند، یاد می‌گیرید کامپوننت‌هایی طراحی کنید که واقعاً انعطاف‌پذیر، composable و مقیاس‌پذیر باشند؛ همان نوعی که در کتابخانه‌های کامپوننت و سیستم‌های طراحی واقعی استفاده می‌شوند.

کار را با دایرکتیوهای عنصر (attribute) شروع می‌کنید و یاد می‌گیرید چگونه عناصر موجود DOM را گسترش دهید و بهبود ببخشید. سپس به سراغ استراتژی‌های سلکتور و الگوهای سلکتور پیشرفته می‌رویم تا کنترل دقیقی بر نحوه اعمال دایرکتیوها و کامپوننت‌ها داشته باشید.

در مرحله بعد، وارد content projection می‌شویم؛ جایی که یاد می‌گیرید چگونه کامپوننت‌هایی طراحی کنید که اجزای بیرونی را بپذیرند و آنها را در طرح‌بندی‌های انعطاف‌پذیر کامپوز کنند. سپس به استایل‌دهی و view encapsulation می‌پردازیم و بررسی می‌کنیم Angular چگونه استایل‌ها را محدوده‌بندی می‌کند و چگونه می‌توان کامپوننت‌هایی ساخت که قابل‌ تم‌سازی و سفارشی‌سازی باشند.

بعد از آن، عمیق‌تر وارد قالب‌ها با ng-template و TemplateRef و ngTemplateOutlet می‌شویم و سپس Angular microsyntax را بررسی می‌کنیم تا بفهمید syntax* چگونه کار می‌کند و چگونه می‌توان APIs تمیز و شهودی برای دایرکتیوها طراحی کرد.

در ادامه، همه‌ موارد را با دایرکتیوهای ساختاری و دستکاری view با استفاده از ViewContainerRef کنار هم قرار می‌دهیم تا کنترل کامل بر نحوه ایجاد، بروزرسانی و مدیریت views در ران تایم داشته باشید. در نهایت، کامپوننت‌های پویا را پوشش می‌دهیم تا تصویر کاملِ کامپوزیشن رابط کاربری به‌ صورت کاملاً انعطاف‌پذیر و برنامه‌پذیر تکمیل شود.

در طول دوره، همه مفاهیم در قالب الگوهای شفاف و قابل‌ استفاده‌ای به هم متصل می‌شوند که می‌توانید بلافاصله در پروژه‌های خود به کار ببرید.

در پایان، فقط ویژگی‌های Angular را نخواهید شناخت؛ بلکه یاد می‌گیرید چگونه آنها را با هم به کار بگیرید تا مثل یک حرفه‌ای کامپوننت بسازید.

این دوره برای چه کسانی مناسب است؟

  • توسعه‌دهندگان Angular که می‌خواهند کامپوننت‌هایی واقعاً قابل‌ استفاده‌ مجدد و مقیاس‌پذیر بسازند.
  • مبتدیان Angular که می‌خواهند فراتر از مبانی بروند و در طراحی کامپوننت پیشرفته شوند.
  • توسعه‌دهندگانی که با کامپوننت‌های خشک و محدود مشکل دارند و به دنبال الگوهای طراحی انعطاف‌پذیر هستند.
  • توسعه‌دهندگانی که در حال ساخت یا برنامه‌ریزی برای ساخت کتابخانه کامپوننت یا سیستم‌های طراحی در Angular هستند.

ساخت کامپوننت‌های قابل‌ استفاده‌ مجدد در Angular - راهنمایی که جای آن خالی بود

  • مقدمه 07:42
  • پیش‌نیازهای دوره 01:18
  • تمرین آنچه یاد می‌گیرید 03:18
  • مقدمه 01:44
  • شروع کار با دایرکتیوها در Angular 06:58
  • ساخت اولین دایرکتیو سفارشی ما 08:21
  • دست‌کاری عنصر هاست 07:21
  • چرا دستکاری مستقیم عنصر هاست یک روش نادرست است؟ 03:56
  • استفاده از Renderer برای دستکاری هاست 06:07
  • اتصال هاست با استفاده از ویژگی هاست 06:12
  • اتصال هاست به استایل و ویژگی‌های سفارشی 06:54
  • اتصال به کلاس‌ها و attributes هاست 09:43
  • Listening به رویدادهای هاست 04:49
  • ارسال آرگومان‌ها به رویدادهای هاست 10:04
  • ارسال ورودی‌ها به دایرکتیوها 05:10
  • مالک ورودی‌ها چه کسی است؟ 11:50
  • یکپارچه‌سازی سلکتور و ورودی در دایرکتیو 05:40
  • تمرین: تمرین ورودی‌ها و اتصالات 06:09
  • تعریف خروجی رویدادها در دایرکتیوها 09:57
  • ویژگی exportAs 06:15
  • چالش - دایرکتیو Track Mouse 17:05
  • کامپوزیشن دایرکتیو 09:17
  • چالش - دایرکتیو MyLink 16:20
  • مقدمه 01:06
  • درک سلکتورها 14:06
  • چالش - بزرگ کردن حرف اول مقدار ورودی متن هنگام Blur 13:10
  • چالش - tooltip برای alt در تصویر 08:35
  • مثال جالب - کامپوننت‌های دکمه 09:13
  • مقدمه 01:46
  • شروع کار - بیایید یک کامپوننت Expander بسازیم 03:24
  • پیاده‌سازی اولیه و ساده‌انگارانه 05:55
  • انیمیشن Expander 17:09
  • استفاده از <ng-content> برای پشتیبانی از محتوای غنی 06:19
  • Content Projection - مالک محتوا چه کسی است؟ 13:38
  • Content Projection چندبخشی با استفاده از attribute 08:59
  • انتخاب محتوا با استفاده از attributes 05:13
  • Project کردن دکمه Toggle 04:54
  • افزودن قابلیت با استفاده از دایرکتیوها 08:52
  • بسته‌بندی کامپوننت‌ها و دایرکتیوهای مرتبط 07:55
  • تزریق وابستگی اختیاری 02:59
  • انیمیشن toggle سفارشی 06:15
  • Content Projection وابسته به State 12:01
  • استفاده از 'contentChild' برای Fallback به دکمه Toggle پیش‌فرض 08:01
  • درک کوئری‌های محتوا 14:03
  • الگوی کامپوننت کامپوزیت 12:39
  • مقدمه 02:41
  • View Encapsulation در Angular 07:06
  • درک مفهوم View Encapsulation 08:03
  • Angular چگونه view encapsulation را شبیه‌سازی می‌کند؟ 13:06
  • بررسی CSS تولید شده 12:18
  • encapsulation در content projection 03:45
  • سلکتور هاست 09:31
  • سلکتور کانتکس هاست 09:46
  • استایل‌دهی با استفاده از ویژگی‌های CSS سفارشی (توکن‌های طراحی) 10:16
  • بهترین روش - ویژگی‌های خصوصی 11:05
  • بهترین روش - استفاده از رنگ‌های محاسبه‌ شده به‌ عنوان مقدار Fallback 08:09
  • سلکتور مربوط به ng-deep 10:54
  • چه زمانی (و آیا اصلاً) باید از ng-deep استفاده کنیم؟ 14:02
  • مقدمه 01:20
  • درک ng-container 08:40
  • بررسی اولیه ng-template و ngTemplateOutlet* 04:57
  • ارسال کانتکس داده به قالب‌ها 05:51
  • پارامتر ویژه implicit$ 03:18
  • ارسال قالب‌ها به‌ عنوان ورودی به کامپوننت‌ها 08:47
  • استفاده از دایرکتیوها روی قالب‌ها 06:42
  • مقدمه 01:22
  • درباره اپلیکیشن ما 08:06
  • ساخت کامپوننت Item Selector 10:55
  • پذیرفتن قالب آیتم به‌ عنوان ورودی 09:20
  • ارسال قالب به‌ عنوان محتوا 05:43
  • Wrapping قالب درون یک دایرکتیو 06:34
  • هدف‌گیری دایرکتیو با contentChild 04:41
  • سینتکس Star Directive 08:04
  • قالب کانتکس همراه با اطلاعات تایپ 07:57
  • افزودن قالب برای ItemContainer 09:22
  • پیاده‌سازی منطق Item Container 12:10
  • مقدمه 01:57
  • درک microsyntax 04:10
  • Populate کردن ورودی‌ها در microsyntax 06:38
  • اعتبارسنجی مقادیر ورودی 03:31
  • امتحان کنید - دایرکتیو myTimer 04:05
  • تعریف متغیرهای قالب در microsyntax 10:51
  • گاردهای تایپ کانتکس 08:32
  • استفاده از سیگنال‌ها در کانتکس قالب 07:43
  • تعریف alias ورودی‌ها در microsyntax 07:26
  • نگاهی تازه به *ngIf و *ngFor قدیمی 17:32
  • دایرکتیوهای عمومی 08:51
  • مقدمه 02:15
  • View در Angular چیست؟ 04:28
  • Views چگونه ایجاد می‌شوند؟ 05:09
  • Views تعبیه شده در برابر Views هاست 09:31
  • معرفی سرویس ViewContainerRef 06:40
  • ایجاد View تعبیه شده پویا از قالب 08:01
  • پیاده‌سازی منطق myIf 07:28
  • محدود کردن تایپ کانتکس 04:26
  • همراه با کدنویسی - ساخت دایرکتیو تایمر 09:30
  • پیاده‌سازی منطق تایمر 08:24
  • همراه با کدنویسی - ساخت دایرکتیو ساختاری Repeat 08:24
  • پیاده‌سازی کانتکس و منطق myRepeat 10:30
  • Injectors سفارشی در Views تعبیه شده 11:19
  • مقدمه 01:25
  • مقدمه و کد استارتر 12:28
  • معرفی NgComponentOutlet 05:00
  • ارسال ورودی‌ها به کامپوننت‌های پویا 04:09
  • ارائه Injector سفارشی به کامپوننت‌های پویا 09:08
  • رابط و توکن ViewPicker 03:03
  • اشاره به لوکیشن مشخص در رابط کاربری با VCR 05:21
  • ساخت Picker با VCR.createComponent 03:50
  • Bindings API برای ایجاد کامپوننت برنامه‌نویسی‌ شده 08:19
  • خلاصه 04:34
  • سخن پایانی 00:50

8,331,200 2,082,800 تومان

مشخصات آموزش

ساخت کامپوننت‌های قابل‌ استفاده‌ مجدد در Angular - راهنمایی که جای آن خالی بود

  • تاریخ به روز رسانی: 1405/04/12
  • سطح دوره:Alls
  • تعداد درس:111
  • مدت زمان :13:58:43
  • حجم :8.69GB
  • زبان:دوبله زبان فارسی
  • دوره آموزشی:AI Academy

آموزش های مرتبط

The Great Courses
7,256,500 1,451,300 تومان
  • زمان: 09:44:25
  • تعداد درس: 67
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
2,260,000 452,000 تومان
  • زمان: 03:02:02
  • تعداد درس: 14
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
795,000 159,000 تومان
  • زمان: 58:00
  • تعداد درس: 12
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
19,403,000 3,880,600 تومان
  • زمان: 26:02:40
  • تعداد درس: 175
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
8,508,000 1,701,600 تومان
  • زمان: 11:25:13
  • تعداد درس: 94
  • سطح دوره:
  • زبان: دوبله فارسی
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
1,833,000 366,600 تومان
  • زمان: 02:27:39
  • تعداد درس: 24
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
6,100,500 1,220,100 تومان
  • زمان: 08:11:21
  • تعداد درس: 28
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
3,634,500 726,900 تومان
  • زمان: 04:52:43
  • تعداد درس: 38
  • سطح دوره:
  • زبان: دوبله فارسی

آیا سوالی دارید؟

ما به شما کمک خواهیم کرد تا شغل و رشد خود را افزایش دهید.
امروز با ما تماس بگیرید