Angular-google-maps: الخريطة التي تم استدعاؤها في عدة مكونات (عبر routerLink) تؤدي إلى إبطاء التطبيق

تم إنشاؤها على ١٧ أغسطس ٢٠١٦  ·  3تعليقات  ·  مصدر: SebastianM/angular-google-maps

وصف المشكلة
لدي تطبيق به عدة مكونات ، تم تحميله عبر <router-outlet> . يتضمن كل عنصر من هذه المكونات الخريطة ، مما يعني أنه في كل مرة يتم فيها النقر على رابط ، يتم إنشاء خريطة google جديدة في <router-outlet> (ولكن هناك خريطة واحدة فقط في كل مرة في التطبيق).
يبدو أنه في كل مرة يتم إنشاء خريطة ، فإنها تضيف الكثير من مستمع الأحداث على عناصر DOM ، ولكنها لا تزيلها عند تدميرها. بعد ذلك ، بعد اتباع عدة روابط ، يكون التطبيق بطيئًا جدًا ، خاصة عند كتابة مدخلات النموذج.

لست متأكدًا مما إذا كان هذا خطأ ، أو إذا كان يجب علي استخدام خريطة واحدة فقط في التطبيق ، وقم بتحديث قيمها اعتمادًا على المكون الذي أقوم بفتحه / إغلاقه.

السلوك الحالي
كتابة مدخلات التطبيق / النموذج بطيئة جدًا ، ولا تتم إزالة مستمعي الأحداث التي تم إنشاؤها بواسطة الخريطة.

السلوك المتوقع / المطلوب
يجب إزالة مستمعي الأحداث ، ولا ينبغي إبطاء التطبيق.

angular2 & angular2-google-maps الإصدار
Angular 2 rc5 & angular2-google-maps 0.12.2

PRs welcome! stale discussion / question performance

التعليق الأكثر فائدة

يجب إزالة مستمعي الأحداث ، ولا ينبغي إبطاء التطبيق.

نعم ، أعتقد أننا أزلنا بعض مستمعي الحدث ولكني لست متأكدًا مما إذا كنا قد أزلنا جميع المستمعين.

2) يجب تشغيل مكالمات خرائط جوجل خارج Angular Zone ، حيث نقوم بالاشتراك في أحداث خرائط جوجل وتشغيلها في المنطقة بالفعل. يجب أن يعطي هذا أيضًا تحسينات في الأداء.

ال 3 كومينتر

يجب إزالة مستمعي الأحداث ، ولا ينبغي إبطاء التطبيق.

نعم ، أعتقد أننا أزلنا بعض مستمعي الحدث ولكني لست متأكدًا مما إذا كنا قد أزلنا جميع المستمعين.

2) يجب تشغيل مكالمات خرائط جوجل خارج Angular Zone ، حيث نقوم بالاشتراك في أحداث خرائط جوجل وتشغيلها في المنطقة بالفعل. يجب أن يعطي هذا أيضًا تحسينات في الأداء.

لدي مشكلة مماثلة مثلgnujeremie. عندما أقوم بإنشاء خريطة ثم أعرض بعض الخطوط المتعددة ، كل شيء يسير على ما يرام (يمكنني التبديل بين عرض الخطوط المتعددة دون أي مشاكل) حتى أذهب إلى بعض الصفحات حيث لا يوجد مكون خريطة. عندما أعود إلى الصفحة مع الخريطة ، تعمل الصفحة والخريطة ببطء شديد.

عندما لا أعرض أي خطوط متعددة ، تختفي المشكلة.

يمكن أن يكون الحل المؤقت بالنسبة لي هو جعل هذا العنصر عالميًا في الرؤية مخفيًا - لذلك سيتم إنشاؤه مرة واحدة فقط - لكن هذا ليس مثاليًا ...

تم وضع علامة على هذه المشكلة تلقائيًا على أنها قديمة نظرًا لعدم وجود نشاط حديث لها. سيتم إغلاقه إذا لم يحدث أي نشاط آخر. شكرا لمساهماتكم.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات