البرمجة

Clear Angular 2 Router QueryParams

عند استخدام توجيه المسار في Angular 2 مع معلمات الاستعلام (queryParams)، يمكنك تفادي المشكلة التي تواجهها عن طريق تعيين المعلمات إلى قيمة فارغة عند الانتقال إلى المسار الجديد. يمكنك فعل ذلك على النحو التالي:

typescript
this._router.navigate(['/login'], {queryParams: {redirect: ''}});

هذا سيؤدي إلى إزالة معلمة redirect من عنوان URL عند التوجيه إلى مسار /login. كما يمكنك استخدام نفس الأسلوب لتجنب إضافة معلمات جديدة إلى عناوين URL السابقة. لذا، عند التوجيه إلى /another-route، يمكنك استخدام:

typescript
this._router.navigate(['/another-route'], {queryParams: {redirect: ''}});

بهذه الطريقة، ستكون قد قمت بتعيين قيمة فارغة لمعلمة redirect مما يزيلها من العنوان الحالي.

المزيد من المعلومات

بالطبع! عند التعامل مع معلمات الاستعلام في Angular 2 Router، يمكنك أيضًا استخدام NavigationExtras لتحديد كيفية التعامل مع المعلمات الحالية والجديدة. على سبيل المثال، يمكنك استخدام merge: false لتجنب دمج المعلمات مع المعلمات الحالية:

typescript
import { NavigationExtras } from '@angular/router'; // Create NavigationExtras with merge set to false const navigationExtras: NavigationExtras = { queryParams: { redirect: 'route2' }, queryParamsHandling: 'merge', preserveFragment: true, // Avoid merging with current queryParams merge: false }; // Navigate to '/another-route' without merging queryParams this._router.navigate(['/another-route'], navigationExtras);

باستخدام merge: false، ستقوم بتجاهل المعلمات الحالية واستخدام فقط المعلمات التي تم توفيرها في queryParams لعنوان URL الجديد.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر