جهت مقاصد امنیتی، اعتبارسنجی کاربران و یا تحت نظر قرار دادن مسیرها، نیاز است بتوان بررسی کرد که آیا پیمایش یک مسیر، مجاز است یا خیر؟ برای پیاده سازی یک چنین ویژگیهایی در Angular، مفهوم Route Guards یا محافظهای مسیرها پیش بینی شدهاست که شامل چندین نوع محافظ میشوند:
- canActivate : جهت محافظت دسترسی به یک مسیر
- canActivateChild: برای محافظت دسترسی به یک Child Route
- canDeactivate : برای جلوگیری کردن ...
به چندین مسیر که در یک زمان و در یک سطح، نمایش داده میشوند، مسیرهای ثانویه (secondary routes) گفته میشوند و برای ساخت رابطهای کاربری پیچیده مفید هستند. از آنها میتوان برای نمایش چندین پنل در یک صفحه استفاده کرد که هر کدام دارای محتوایی متفاوت، به همراه مسیریابی مستقل و خاص خودشان هستند؛ مانند ساخت یک صفحهی مدیریتی. هرچند میتوان این صفحهی مدیریتی را با درج مستقیم کامپوننتهای آنها در یک صفحه نیز نمایش داد، اما اگر هر کدام نیاز به م ...
در این قسمت ویژگیهای بصری را مانند مشخص سازی مسیر انتخاب شده، در منوی سایت و همچنین نمایش «لطفا منتظر بمانید» را در حین نمایش قسمتهایی که با تاخیر از سرور دریافت میشوند، پیاده سازی خواهیم کرد.
تزئین مسیر انتخاب شده در منوی سایت
برای بهبود ظاهر برنامه نیاز است منوی سایت را به نحوی تغییر دهیم که مشخص کند، اکنون کاربر کدام گزینه را انتخاب کردهاست. این مورد شامل سلسه مراتب مسیریابیها نیز میشود؛ برای مثال فعالسازی ...
همانطور که در قسمت قبل مشاهده کردیم، از تعریف 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 ...
در مقالاتی که در سایت منتشر شدهاست، آشنایی و همچنین نحوه پیاده سازی Json Web Token را فرا گرفتیم. در اینجا میخواهیم با استفاده از توکن تولید شده، برنامههای Angular2 یا هر نوع فریمورک spa را با آن ارتباط دهیم. در سایت جاری قبلا در مورد نحوه پیاده سازی آن صحبت شدهاست و میخواهیم از آن در یک پروژه Angular 2 صحبت کنیم. پروژه دات نت را از طریق این آدرس دریافت کرده و آن را در حالت اجرا بگذارید.
...