对 Angular 中的组件使用 class 继承是一种好习惯吗?嵌套继承呢?

It's good practice to use class inheritance for components in Angular? What about nested inheritance?

如果我有这样的 类:

common.ts(在 mixins 文件夹下):

export class Common { }

基础-component.ts:

@Mixin([Validation])
export abstract class BaseComponent extends Common implements Validation {...}

基本列表类型-component.ts:

@Injectable()
class BaseListComponent<T, U> extends BaseComponent implements OnInit, OnDestroy {...}

带模板的组件。component.ts:

@Component({
  selector: "app-component-with-template",
  templateUrl: "./component-with-template.component.html"
})
export class ComponentWithTemplate extends BaseListComponent<DataInterface, DataService> {...}

在 Angular 中,像这样使用继承是一个好习惯吗?关于性能,用继承好还是创建服务好?

根据我的经验,使用继承使得调试父 classes 变得困难,因为 debugger/logs 将为实现它的每个子 class 显示。

我尽量远离继承,并尝试将服务或导出函数用于一遍又一遍完成的常见任务。该服务可以在需要的任何地方注入,并且可以在单元测试中模拟。这种模式就是所谓的“优先考虑可组合性而不是继承”。