انگولار در حال تغییره و قراره مفاهیم پیچیده رو از جلوی توسعه برنامه نویس ها بردارند. یکی از این تغییرها قراره در Control Flow ها اتفاق بیفته. مدل فعلی بر پایه sctructural directive های از پیش ساخته شده است مانند NgIf یا NgforOf یا NgSwitch. مشکل این Flow Control اینه که بر اساس Zone تعریف شدند. یعنی در اپلیکیشن های بدون zone نمیشه ازشون استفاده کرد. تیم توسعه انگولار تصمیم گرفته Control Flow جدیدی ارائه کنه که بشه ازشون در اپلیکیشن های بدون Zone هم استفاده کرد. قراره جمله بندی (syntax) جدیدی در نسخه های بعدی انگولار استفاده بشه با ویژگی های زیر:
۷. بهتره که توسعه دهنده ها بتونند این سینتکس جدید رو خودشون گسترش بدن یا نیازهاشون رو بهش اضافه کنند.
۸. بهتره که بشه همراه با بقیه ویژگی های انگولار ازشون استفاده کرد تا قدرت بیشتری به توسعه دهنده بده.
زبان های توسعه تمپلت زیادی در دنیای امروز هست که هر کدوم ویژگی ها و مزایا و معایب خودشون رو دارند و هر کدوم طرفدارهای خودشون رو هم دارند. در تیم توسعه انگولار در نهایت تصمیم گرفته شده که نسخه جدید از دیزاین سیستم mustache الهام گرفته شده.
کنترل شرطی (if-else if-else)
به صورت ساده قراره به شکل زیر باشه:
یا مثلا به صورت زیر:
نحوه استفاده از async pipe
مثلا اگر قبلا اینطوری تمپلت پیاده سازی شده باشه:
میتونه تبدیل به این فرمت بشه:
کنترل سوییچ (switch-case-default)
این کنترل شامل break نخواهد بود.
مزیت عمده روش جدید به مدل فعلی اینه که الزامی نیازی به حضور container نداریم.
کنترل حلقه (for-empty)
نگارش کامل ترش این میشه:
با اومدن این سینتکس جدید عملا یک قدم بزرگ برای برداشتن مفهوم پیچیده zone از انگولار برداشته میشه و تیم توسعه انگولار به هدفشون نزدیک تر میشن. موفق باشید :)