Angular 12 当父组件和子组件扩展相同的基本组件时,如何隔离属性范围

Angular 12 How to isolate scope of property when parent and child component extend same base component

提问人:kalonthenet 提问时间:7/17/2023 更新时间:7/17/2023 访问量:29

问:

我有一个名为 ScreenBaseComponent 的抽象基类:

export abstract class ScreenBaseComponent implements OnInit, OnDestroy {
   public trackId: number;
}

我有一个扩展 ScreenBaseComponent 的父组件:

export class ParentComponent extends ScreenBaseComponent implements OnInit, OnDestroy {

}

ParentComponent 中名为 ChildComponent 的子组件之一也扩展了 ScreenBaseComponent:

export class ChildComponent extends ScreenBaseComponent implements OnInit, OnDestroy {
 public trackId: number;

 ngOnInit() {
        super.ngOnInit();
        this.trackService.getTrackDesigns(this.gridId).subscribe((data) => {            
            data.map((eachTrac) => {
                if (eachTrac.name == this.TracName) {
                    this.trackId = eachTrac.id;
                }
            });
        });
    }
}

根据要求,trackId 的更改会触发事件并重新加载网格。当我更改子组件中的 trackId 时,子页面中的网格会重新加载,这很好。问题是,父组件中的 trackId 也会发生变化。有没有办法在每个组件中隔离 trackId 的范围?

试图理解这里的问题。提前致谢。

JavaScript Angular 继承 基类

评论


答: 暂无答案