Avatar ·

التمرير إلى أعلى الصفحة عند تغيير المسار في Angular 2+

مرحبًا بالجميع! أنا مطور مبتدئ في Angular (الإصدار 15). واجهت مشكلة: عند الانتقال بين الصفحات عبر Router (أستخدم `routerLink` في القالب و `this.router.navigate()` في المكونات)، لا يتم التمرير إلى أعلى الصفحة. إذا كنت في أسفل صفحة طويلة وانتقلت إلى مسار آخر، يرى المستخدم منتصف الصفحة الجديدة وليس بدايتها. هذا مزعج جدًا، خاصة على الأجهزة المحمولة. حاولت إضافة `scrollPositionRestoration: 'top'` في إعدادات RouterModule، لكنه لم يعمل في جميع الحالات. كما حاولت الاشتراك في أحداث Router في AppComponent واستدعاء `window.scrollTo(0,0)`، لكن التمرير يحدث قبل تحميل المكون الجديد بالكامل، ويبدو ذلك متقطعًا بصريًا. لاحظت أيضًا أن استخدام `routerLink` مع جزء (#section) يعطل التمرير تمامًا. إليك مثال على الكود الحالي: ```typescript // app-routing.module.ts (مقتطف) const routes: Routes = [ { path: '', component: ... }