Angular: AbstractControl.statusChanges يبدو أنه ينطلق بلا داع

تم إنشاؤها على ٩ أغسطس ٢٠١٦  ·  1تعليق  ·  مصدر: angular/angular

أنا أرسل ...

[x] bug report

السلوك الحالي

نظرًا لأنه تم تسمية Observer بلقب "التغييرات" أشعر أن AbstractControl.statusChanges يجب أن يصدر قيمًا فقط عندما تتغير الحالة بالفعل. بدلاً من ذلك ، يبدو أنه يعمل عندما يتم تشغيل valueChanges باستثناء حالة _status_ كقيمة لمعاودة الاتصال.

السلوك المتوقع / المطلوب

يجب أن يتم إطلاقه فقط عندما تتغير الحالة .

استنساخ المشكلة
http://plnkr.co/edit/UTPrVls36cTQjPpwYN2Q

ما هو الدافع / حالة الاستخدام لتغيير السلوك؟
لقد وجدت ذلك من خلال تحديد منطقة بطيئة إضافية في تطبيقنا والتي تسببت في بعض تأخر واجهة المستخدم ، لذلك ستكون شكواي الرئيسية هي الأداء.

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

من فضلك أخبرنا عن بيئتك:

  • الإصدار الزاوي: 2.0.0-rc.4
  • المتصفح: الكل
  • اللغة: الكل
forms feature medium obvious

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

حاليًا يصدر statusChanges كل مرة يتم فيها حساب الحالة ، وليس بالضرورة عند تغييرها. أستطيع أن أرى كيف يمكن أن يكون هذا مضللاً. ومع ذلك ، فإن تغيير سلوكه سيكون بمثابة تغيير كبير جدًا لجميع المستخدمين. ربما يمكننا إضافة باعث حدث جديد للتمييز بين الاثنين. أود التعرف على من سيستخدم هذا لتحديد الأولوية. المزيد من الناس يشعرون بألم هذا؟ استخدم حالات؟

>كل التعليقات

حاليًا يصدر statusChanges كل مرة يتم فيها حساب الحالة ، وليس بالضرورة عند تغييرها. أستطيع أن أرى كيف يمكن أن يكون هذا مضللاً. ومع ذلك ، فإن تغيير سلوكه سيكون بمثابة تغيير كبير جدًا لجميع المستخدمين. ربما يمكننا إضافة باعث حدث جديد للتمييز بين الاثنين. أود التعرف على من سيستخدم هذا لتحديد الأولوية. المزيد من الناس يشعرون بألم هذا؟ استخدم حالات؟

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