همانطور که در قسمت قبل مشاهده کردیم، از تعریف Child Routes برای میسر ساختن نمایش قالبهای کامپوننتها، در درون سایر قالبهای کامپوننتها، استفاده میشود. برای نمونه قالبهای برگههای یک فرم ویرایش اطلاعات را با تعریف یک router-outlet دیگر، در درون قالب والد آنها نمایش دادیم. اما شاید بخواهیم کار گروه بندی مسیریابیها را بدون افزودن یک router-outlet دیگر انجام دهیم. برای این منظور میتوان مسیریابیهای کامپوننتهای نمایش لیست محصولات، جز ...
در Angular امکان تعریف مسیریابیهایی، درون سایر مسیریابیها نیز پیش بینی شدهاست. با استفاده از مفهوم Child Routes، امکان تعریف سلسله مراتب مسیریابیها جهت ساماندهی و مدیریت مسیریابی درون برنامه، وجود دارد. همچنین lazy loading مسیریابیها را نیز سادهتر کرده و کارآیی آغاز برنامه را بهبود میبخشند.
علت نیاز به Child Routes
در مثال این سری، منوی اصلی آن به صورت ذیل تعریف شدهاست: <ul class="nav ...
اگر مثال قسمت قبل را اجرا کرده باشید، حتما شاهد این تجربهی ناخوشایند کاربری بودهاید:
با کلیک بر روی لینک منوی نمایش لیست محصولات، ابتدا قاب خالی لیست محصولات نمایش داده میشود:
سپس بعد از یک ثانیه، شاهد بارگذاری اطلاعات جدول لیست محصولات خواهید بود. این یک ثانیه تاخیر را نیز به عمد توسط منبع داده درون حافظهای برنامه ایجاد کردیم، تا بتوان شرایط دنیای واقعی را شبیه سازی کرد: InMemoryWebApiModule.forRoot ...
گاهی از اوقات نیاز است به همراه مسیریابی، اطلاعاتی را نیز به آنها ارسال کنیم. برای مثال در حین نمایش لیست محصولات، برای هدایت به صفحهی نمایش جزئیات هر محصول، نیاز است Id هر محصول نیز به همراه مسیریابی، به کامپوننت مقصد ارسال شود. اینکار توسط route parameters قابل مدیریت است.
تنظیم مسیریابیها جهت درج پارامترها
پیش از ارسال اطلاعات مورد نیاز، به مسیری خاص، نیاز است محل قرارگیری این اطلاعات را در تعاریف مسیریابیها م ...
اغلب برنامههای بزرگ Angular، ویژگیهای مختلف خود را به ماژولهای مجزایی تبدیل میکنند. این ماژولها شبیه به مفهوم Area در ASP.NET MVC هستند و هدف آنها نظم بخشیدن به کامپوننتهای ویژهی یک قسمت خاص از برنامه، در ناحیهای مختص به آن میباشد. به علاوه ایجاد ماژولها، قابلیت lazy loading مسیریابیها را نیز مسیر میکند. هر برنامهی Angular حداقل به همراه یک ماژول است که بر اساس قراردادی، AppModule نام گرفتهاست و در فایل src\app\app.module.t ...
مسیریابی در +Angular 2 به همراه قابلیتهای فراوان و ویژهای است که تعدادی از آنها را تابحال در این سایت بررسی کردهایم. مورد مقدماتی اول ، نیاز به بازنویسی کامل دارد، مورد دوم جهت آشنایی با ساختار Angular CLI مفید است و مورد سوم یکی از مباحث تکمیلی آن است. به همین جهت در طی یک سری، ویژگیهای متعدد سیستم مسیریابی +Angular 2 را از ابتدا بررسی خواهیم کرد.
مسیریابی در +Angular 2
عموما از مسیریابی جهت حرکت بین V ...
پروژههای Angular CLI در حالت پیش فرض آنها به همراه دو نوع آزمون واحد و آزمون end to end ایجاد میشوند. Angular CLI از Karma برای اجرای آزمونهای واحد استفاده میکند و از Protractor برای اجرای آزمونهای end to end. برای شروع میتوان از راهنمای آن کمک گرفت: > ng test --help
زمانیکه دستور ng test ر ...
در قسمت قبل با نحوهی ساخت و توزیع برنامههای Angular، توسط Angular CLI آشنا شدیم. یکی از فایلهایی که توسط سیستم build آن تولید میشود، فایل vendor.bundle.js است که شامل کدهای اصلی Angular و همچنین کتابخانههای ثالث مورد استفادهاست و با توجه به اینکه در حالت پیش فرض کار با Angular CLI قرار نیست فایل تنظیمات webpack آنرا استخراج و ویرایش کنیم، چگونه باید سایر کتابخانههای ثالث مورد نیاز را به این سیستم build معرفی کرد؟
استف ...
ساخت و توزیع برنامههای Angular یکی از مهمترین و بحث برانگیزترین قسمتهای نگارشهای جدید آن است و به ازای هر پروژه و قالبی که برای آن توسط گروههای مختلف ارائه شدهاست، روشهای متفاوتی را شاهد خواهید بود. در ادامه روش توصیه شدهی توسط تیم Angular را که مبتنی است بر webpack و به صورت خودکار توسط Angular CLI مدیریت میشود، بررسی خواهیم کرد.
ساخت (Build) برنامههای Angular
...
«انجام تنظیمات مسیریابی پیش فرض پروژه جدید توسط Angular CLI» را در قسمت دوم این سری بررسی کردیم. در ادامه با قابلیتهای بیشتری از امکانات تنظیمات مسیریابی موجود در Angular CLI، آشنا خواهیم شد.
یک مثال: در ادامه یک پروژهی جدید مبتنی بر Angular CLI را به همراه تنظیمات ابتدایی مسیریابی آن ایجاد میکنیم: > ng new angular-routing --routing
همانطور که در قسمت دوم نیز ذکر شد، پرچم routing در اینجا، سبب ایجاد فایل app ...