我遇到了一个场景,我需要对 ngOnchanges 上的数据进行一些处理(因为数据来自父组件的 @Input 数据绑定属性)。在此转换期间,我需要使用在 ngOnInit 中初始化的属性。我尝试直接使用它,但值未定义。有人可以让我知道我该如何实现这一目标。下面是我的场景的示例代码。
ParentComp HTML
<myParent [data]="list$ | async"></myParent>
ChildComp TS
export class {
@Input() data : any ; //data from parent
breakPoint$: Observable<number>
constructor(){}
ngOnInit(){
this.breakPoint$ = fromEvent(this.window, 'resize').pipe(
map(() => this.numOfCols())
);
}
ngOnChanges(changes: SimpleChanges) {
if (changes['data']) {
// need to do some data processing here based on numOfColumns value, so trying to access
this.breakPoint$.pipe(
) // Here i get cannot read property pipe of undefined error
);
numOfCols(): number {
return this.breakpointObserver.isMatched(`(max-width: 1008px)`) ? 4 : 5;
}