В процессе обновления от Angular 8 до Angular 9 скрипт обновления добавляет декораторы компонентов к базовым классам. Это задокументировано в https://angular.io/guide/migration-undecorated-classes
В задокументированном примере селектор установлен в декораторе базового класса.
Но как поступить, если вам нужно два разных селектора в дочерних компонентах компонента базового класса?
До:
class BaseMenu {}
@Component({
selector: 'a-menu',
template: '<div></div>'
})
export class AMenu extends BaseMenu {}
@Component({
selector: 'b-menu',
template: '<div></div>'
})
export class BMenu extends BaseMenu {}
После :
@Component(???)
class BaseMenu {}
@Component({
selector: 'a-menu',
template: '<div></div>'
})
export class AMenu extends BaseMenu {}
@Component({
selector: 'b-menu',
template: '<div></div>'
})
export class BMenu extends BaseMenu {}
Компонентный декоратор ожидает «селектор».