Angular 9 производственная ошибка: невозможно установить свойство ɵfa c из (абстрактного) класса MyFilter {}, в котором есть только геттер - PullRequest
1 голос
/ 11 марта 2020

У меня есть абстрактный компонент в библиотеке (без плюща) с декоратором @Directive(), который имеет некоторые базовые c атрибуты и функции для наследования его дочерним элементам. Когда я пытаюсь использовать библиотеку в любом проекте, я получаю следующую ошибку в консоли браузера:

Uncaught TypeError: Cannot set property ɵfac of class MyFilter {} which has only a getter

Вот класс:

@Directive()
export abstract class MyFilter<T> {

  @Input() form: FormGroup;
  @Input() filterOpened: boolean;
  @Input() enableSubmit: boolean;

  abstract useFilter();
}

дочерний класс:

@Component({
  selector: 'my-text-filter',
  templateUrl: './text-filter.html',
  styleUrls: ['./text-filter.scss']
})
export class MyTextFilter extends MyFilter<TextFilter> implements OnInit, OnChanges {

  constructor() {
    super();
  }

  ngOnInit() {
  }

  ngOnChanges(changes: SimpleChanges) {
  }

  useFilter() {
  }

}

1 Ответ

1 голос
/ 25 марта 2020

Вам просто нужно удалить декоратор @Directive () из класса MyFilter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...