• خانه
  • وبلاگ
  • استفاده از پارامترهای Query با Angular Router • CloudSigma

استفاده از پارامترهای Query با Angular Router • CloudSigma

 تاریخ انتشار :
/
  وبلاگ
استفاده از پارامترهای Query با Angular Router • CloudSigma


مقدمه

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

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

پیش نیازها

برای درک کامل این مقاله، دانش ساخت برنامه های کاربردی با استفاده از Angular مورد نیاز است. تجربه با Angular Router، RouterLink و ActivatedRoute نیز مفید خواهد بود.

ارسال پارامترهای درخواست با Router.navigate

اگر استفاده می کنیدروتر.حرکت کنید برای پیمایش در مسیرها، استفاده کنیدqueryParams برای ارسال پارامترهای درخواست

در مثال بالا، اگر می‌خواهیم بازدیدکنندگان لیست محصولات مرتب‌شده بر اساس محبوبیت را ببینند، از کد زیر استفاده می‌کنیم:

با استفاده از این کد، URL به صورت زیر در می آید:

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

این بار URL تبدیل خواهد شد:

این نحوه تنظیم پارامترهای پرس و جو با استفاده ازqueryParams.

با استفاده از queryParamsHandling از از دست رفتن پارامترهای پرس و جو جلوگیری کنید

هنگام پیمایش بین مسیرها، پارامترها از بین می روند. فرض کنید ما استدلال می کنیمarg0 هنگامی که مسیریابی بعدی اتفاق می افتد، منتقل نمی شود. می توانیم با استفاده از پارامترها را ذخیره کنیمqueryParamsHandling و یک مقدار را بهصرفه جویی یاادغام.

فرض کنید در مثال بالا می خواهیم بازدیدکنندگان را به آن هدایت کنیم مارک ها صفحه از تولید – محصول با پارامتر مسیر{ سفارش: ‘محبوب’ }، ذخیره پارامترهای مسیر. برای این کار می توانیم استفاده کنیمqueryParamsHandling و آن را تنظیم کنیدصرفه جویی :

با این کار URL به شکل زیر در می آید:

سپس فرض کنید می خواهیم پارامتر query را برای مسیر قبلی ذخیره کنیم{ سفارش: ‘محبوب’ } هنگام اضافه کردن پارامترهای جدید{ قیمت: “بالا به پایین” }. می توانیم راه اندازی کنیمqueryParamsHandling بهادغام:

با کد بالا، URL تبدیل می شود:

در اینجا ذخیره پارامترهای پرس و جو را با استفاده از آن به پایان می رسانیمqueryParamsHandling برای ذخیره یا ادغام

ارسال پارامترهای درخواست با RouterLink

با توجه به اتصال قبلی ما اگر بخواهیم استفاده کنیمRouterLink دستورالعمل ناوبری، ما باید پارامترهای پرس و جو را با استفاده ازqueryParams مانند زیر:

توجه کنید که چگونه شی را به آن منتقل می کنیمqueryParams با استفاده از اتصال یک طرفه ما همچنین می توانیم یک شیء کامل را به عنوان ارسال کنیمqueryParams .

همچنین، اگر بخواهیم این پارامترهای پرس و جو را در مسیریابی بعدی به جلو ببریم، می توانیم استفاده کنیمqueryParamsHandling گزینه. گزینه های احتمالی queryParamsHandling هستندادغام وصرفه جویی:

در اینجا، ما دیدیم که چگونه عبور کنیمqueryParams و پردازش پارامتر با استفاده ازqueryParamsHandling که درRouterLink.

خواندن مقادیر پارامترهای پرس و جو

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

در Angular، پارامترهای درخواست مسیر را با استفاده از آن می خوانیممسیر فعال شده کلاس رامسیر فعال شده دارای یک ویژگی قابل مشاهده به نامqueryParams برای نشان دادن پارامترهای URL فعلی.

فرض کنید با URL زیر سر و کار داریم:

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

در اینجا در کنسول مقدار آن را خواهیم دیدسفارش مقدار پارامتر پرس و جومحبوب چاپ شده. اگر چند پارامتر پرس و جو داشته باشیم، می توانیم استفاده کنیمqueryParamMap خاصیتی که یک قابل مشاهده را برمی گرداندparamsMap هدف – شی.

اگر یک URL با پارامترهای پرس و جوی متعدد مانند:

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

استفاده كردن اپراتور توزیع شی در اینجا به نتیجه زیر می رسیم:

در نهایت، باید بتوانید نحوه دسترسی به پارامترهای پرس و جو از مسیرهای دریافتی را بفهمید.

نتیجه

در این آموزش، تفاوت بین پارامترهای پرس و جو و پارامترهای مسیر را بررسی کردیم. ما همچنین نحوه عبور آرگومان ها را از طریق مسیرها به عنوان پارامترهای پرس و جو و همچنین بازیابی آنها به صفحه با استفاده از آن بررسی کردیم.queryParams وqueryParamsHandling باروتر.حرکت کنید وRouterLink. ما همچنین یاد گرفتیم که چگونه رفتار کنیمqueryParams وqueryParamMap بامسیر فعال شده.

Angular در پایه خود به جاوا اسکریپت نیاز دارد. اگر می خواهید دانش جاوا اسکریپت خود را گسترش دهید، می توانید وبلاگ های زیر را بررسی کنید:

کار کامپیوتر مبارک!

استفاده از پارامترهای Query با Angular Router • CloudSigma

درباره شریاس پاتیل

متخصص عمومی در علم داده