loading...
طراحی وب- برنامه نویسی
برنامه نویس بازدید : 34 پنجشنبه 10 مرداد 1398 نظرات (0)

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

ایجاد کامپوننت با خط فرمان Angular CLI

در فصل گذشته یک کامپوننت را به صورت دستی ایجاد کرده و سپس آن را مورد بررسی قرار دادیم. اما ساخت یک کامپوننت به این سختی که شما فکر می‌کنید نیست! کافیست دستور زیر را در CMD پوشه موردنظر وارد کرده تا خط فرمان CLI انگولار به صورت خودکار کامپوننت شما را ایجاد و به فایل app.module اضافه کند:

پس از اجرای دستور فوق پیام‌های زیر که مبتنی بر ساخت کامپوننت است برای شما نمایش داده می‌شود. چه جالب! اگر به پوشه فایلهای خود مراجعه کنید یک پوشه با نام servers در صفحه پوشه app شما ساخته شده و به صورت خودکار فایل‌های موردنیاز برای یک کامپوننت واحد درون آن قرار گرفته است:

پیامی که برای ما نمایش داده است مبتنی بر ایجاد فایل‌های موردنظر در پوشه servers و همچنین بروزرسانی فایل app.module است.

علاوه بر این اگر فایل servers.component.ts را بررسی بفرمایید ملاحظه می‌کنید که در قسمت دکوراتور یا مفسر برنامه سلکتور، قالب و استایل (شکل ظاهری css) معرفی شده است. به دو دستور constructor و ngInit توجه نکنید آنها را بعدا به دقت مورد بررسی قرار می‌دهیم.

حال برای اینکه مبحث تکرار و استفاده مجدد از یک کامپوننت را مطرح کنیم. از شما تقاضا داریم ابتدا فایل app.component.html را باز کرده و تغییرات زیر را درون آن لحاظ کنید:

سپس در فایل servers.component.html دستورهای زیر را  قرار دهید:

سپس تغییرات را در صفحه اصلی خود بررسی کنید، با پدیده‌ی جالبی مواجه شدید! در واقع در کامپوننت servers دو بار کامپوننت server را استفاده کرده‌ایم و اگر همه چیز را مرتب انجام داده باشید با خروجی زیر روبه‌رو خواهید شد:

خروجی اضافه کردن کامپوننت تو در تو به انگولار

دقت داشته باشید که در این مبحث ما در واقع نحوه‌ی استفاده تو در تو کامپوننت‌ها را بررسی کردیم. برای درک بیشتر روی صفحه‌ی مرورگر خود و در آدرس http://localhost:4200 راست کلیک کنید و سپس گزینه‌ی inspect را انتخاب کنید (کلید میانبر F12).

در صفحه‌ای که پیش روی شما باز می‌شود مجموعه‌ی کد کامپوننت به صورت زیر می‌باشد:

یعنی کامپوننت servers که خود فرزند کامپوننت app است به عنوان والد کامپوننت server شناخته می‌شود.

ایجاد قالب و استایل برای یک کامپوننت

تا به اینجای کار با تعریف کامپوننت آشنا شدید و نحوه‌ی کارایی آن را فرا گرفتید. در این مبحث قصد داریم نحوه‌ی ارائه‌ی شکل ظاهری و ساختاری به کامپوننت را مورد بررسی قرار دهیم.

تعریف قالب و ساختار برای هر کامپوننت در دو حالت inline (درون کد اصلی کامپوننت) یا external (به صورت کد مجدا در پوشه کامپوننت) امکان‌پذیر است.

تا الان، شکل ظاهری یک کامپوننت در فایلی با پسوند component.html قرار می‌گرفت و سپس این فایل با استفاده از ویژگی templateUrl به مفسر یا دکوراتور معرفی می‌شد. به این حالت ایجاد قالب کامپوننت به صورت external گفته می‌شود.

اما به یک نحو دیگر می‌توان قالب را برای یک کامپوننت تعریف کرد و آن تعریف internal است یعنی به جای استفاده از عبارت templateUrl دستور template را بکار برده و سپس در مقابل آن و در بین دو علامت (دکمه‌ی ~ در صفحه کلید را بدون نگه داشتن shift فشار دهید) تعریف می‌کنیم. به نمونه‌ی زیر توجه کنید:

در این مثال یک کامپوننت را به صورت توکار یا inline قالب‌دهی کردیم. این حالت برای زمانی مورد استفاده قرار می‌گیرد که کد قالب کامپوننت شما بسیار خلاصه باشد اما بهترین حالت انتخاب یک فایل جداگانه و به روش external است.

حتما تا الان متوجه این موضوع شده‌اید که یک ویژگی با نام styleUrl در زیر templateUrl قرار گرفته است و به یک فایل که درون پوشه‌ی کامپوننت است اشاره می‌کند. درست حدس زده‌اید! در این فایل که با پسوند component.css است، تمام فایل‌های css مربوط به قالب component.html مختص این کامپوننت قرار می‌گیرد.

همچنین توجه به این نکته ضروری است که می‌توان css را بصورت inline نیز تعریف کرد. برای اینکار باید مشابه فایل html توکار، عبارت styleUrl را به Style تبدیل کرده و درون براکت [ ] کدهای css خود را قرار دهید. اما برای زیباتر شدن محیط کاری بهتر است یک فایل جداگانه برای ظاهر و استایل هر کامپوننت درنظر بگیرید.

یک نکته‌ای که باید خدمت شما عزیزان ارائه بدهیم این است: تمام فایل‌های مربوط به فریم‌ورک‌های css همچون bootstrap یا uikit را می‌توانید در پوشه‌ی assets قرار داده و سپس آن را به سیستم معرفی کنید.

برای معرفی کردن یک فایل css به صورت external باید فایل angular.json در نسخه های ۶ به بعد و angular-cli.json در نسخه های قبل از ۶ را از پوشه روت (ریشه اصلی و اولیه) باز کرده و سپس در بخش style مسیردهی خود را برای فایل‌های css مربوطه انجام دهید.

در اینجا ما فریم ورک‌ bootstrap را به مجموعه‌ی خود اضافه کرده‌ایم:

توجه: در نسخه انگولار ۶ به بعد فایل angular-cli.json به angular.json تغییر پیدا کرده است.

شما می توانید این تغییرات را به صورت زیر انجام دهید:

در صورتیکه فایل‌های css خارجی شما متعدد هستند می‌توانید با قرار دادن یک علامت , آنها را از هم جدا کرده و به سیستم معرفی کنید. همچنین برای استفاده از فایل‌های js می‌توانید مطابق فوق آنها را در قسمت scripts تعریف کنید.

توجه داشته باشید که از این به بعد محیط نمایشی و خروجی مثال‌های ما متفاوت می‌باشد زیرا کدنویسی اختصاصی html و css توسط شرکت روکسو انجام شده تا ظاهری مناسب را برای دوستان عزیز به نمایش بگذاریم.

شما عزیزان نیز با تسلط کافی بر مباحث html و css می‌توانید ظاهر دلخواه خود را ایجاد کنید. بنابراین در مجموعه‌ی دستورها و کدهایی که ملاحظه می‌کنید، کدهای html و css را نادیده گرفته و به مفاهیم اصلی انگولار دقت کنید.

برای ویرایش ظاهر کلی برنامه به فایل app.component.html رفته و تگ‌های مربوط به فریم ورک بوت استراپ را وارد می‌کنیم، این فایل به صورت زیر ویرایش شده است:

و در نهایت خروجی ما به صورت زیر خواهد بود:

اعمال فریم ورک Bootstrap به انگولار

تعریف متفاوت selector

همانطور که در جریان هستید سلکتورها به عنوان یکی از مهم‌ترین ویژگی‌ها مربوط به هر کامپوننت است. تعریف سلکتورها به صورتهای مختلفی امکان پذیر است که در زیر به آنها اشاره می‌کنیم:

روش ۱) در صورتیکه سلکتور به صورت زیر تعریف شود آنگاه خود کامپوننت به حالت یک تگ مورد استفاده قرار می‌گیرد.

selector: 'app-servers'

 آنگاه باید با دستور زیر از این کامپوننت استفاده کرد:

<app-servers></app-servers


روش ۲)  در صورتیکه یک سلکتور به صورت زیر تعریف شود آنگاه آن کامپوننت به صورت یک صفت در تگ‌های div یا هر تگ دیگر مورد استفاده قرار می‌گیرد:

selector: ['app-servers']

آنگاه باید با دستور زیر از این کامپوننت استفاده کرد:

<div app-servers></div>


روش ۳) اگر یک سلکتور به صورت یک کلاس که در زیر مشاهده می‌کنید تعریف شود آنگاه درون یک تگ دیگر مانند div یا غیره در فرمت کلاس استفاده می‌شود و انگولار به صورت خودکار تشخیص می‌دهد که این برنامه از فریم ورک انگولار فرمان می‌پذیرد:

selector: '.app-servers'

آنگاه باید با دستور زیر از این کامپوننت در قالب html استفاده کرد:

<div class="app-servers"></div>


در نهایت باید به این نکته توجه داشته باشید که بهترین حالت برای استفاده از این فریم روش اول است.

بسیار عالی این بخش نیز به اتمام رسید و در آن مباحث کامپوننت ها را به صورت کلی فرا گرفتید در نهایت در فصول بعدی به صورت عمیق‌تری به هر یک از مباحث می‌پردازیم. با ما همراه باشید.

توجه: دوستان عزیز آموزش ویدیویی انگولار ۶ از مقدماتی تا پیشرفته به زبان فارسی را می‌توانید با کلیک روی اینجا یاد بگیرید. 

دوره آموزش انگولار به زبان فارسی + پروژه ساخت فروشگاه اینترنتی

 

منبعک روکسو

ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 346
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • آی پی امروز : 18
  • آی پی دیروز : 17
  • بازدید امروز : 118
  • باردید دیروز : 21
  • گوگل امروز : 2
  • گوگل دیروز : 5
  • بازدید هفته : 192
  • بازدید ماه : 557
  • بازدید سال : 7,066
  • بازدید کلی : 35,301