-1

如果我有这样的课程:

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

export class Common { }

基础组件.ts:

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

基本列表类型组件.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中使用这样的继承是一个好习惯吗?关于性能,使用继承还是创建服务更好?

4

1 回答 1

1

根据我的经验,使用继承使得调试父类变得困难,因为调试器/日志将为实现它的每个子类显示。

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

于 2021-06-02T12:40:15.163 回答