В моем проекте angular 8 у меня есть класс (просто класс, не реализованный как компонент), который предоставляет некоторую конфигурацию и методы по умолчанию.
Этот класс расширяется несколькими компонентами. Если несколько компонентов в одном и том же представлении (т. Е. Существуют одновременно) расширяют этот класс, их экземпляры перезаписывают друг друга. Если я перезаписываю атрибут или метод в одном из компонентов, а потом создается еще один, перезаписывается vani sh.
. Я понятия не имею, почему это произойдет. Конструктор расширенного класса вызывается несколько раз, поэтому теоретически каждый расширяющий класс должен создавать свой собственный экземпляр.
Обновление
Я воссоздал проблему в этом StackBlitz демо: https://stackblitz.com/edit/angular-hw1cv9
ListComponent и PopupComponent расширяют DataGridComponent. В ListComponent я включаю функцию экспорта в шаблоне, и это всегда работает. Я также перезаписываю обработчик события onExporting. Эта перезапись работает нормально, если вы закомментируете всплывающее окно (или заблокируете его создание с помощью * ngIf = "popupVisible"), но оно возвращается к своей первоначальной функциональности с всплывающим окном как есть.
(я не могу понять, как показать значки devextreme в демо, извините. Кнопка экспорта находится слева над таблицей).
Обновлен демо с решением