在Angular中,ngSwitch指令用于在多个嵌套组件之间切换视图。如果ngSwitch嵌套组件不更新视图,可能是由于以下几个原因:
import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';
@Component({
selector: 'app-child',
template: `
Child Component
`
})
export class ChildComponent implements OnChanges {
@Input() show: boolean;
ngOnChanges(changes: SimpleChanges) {
if (changes.show) {
this.show = changes.show.currentValue;
}
}
}
注意:在父组件中定义一个名为childTemplate的ng-template,并将其作为ngTemplateOutlet传递给子组件。
{{ item }}
{{ item }}
在父组件中定义trackByFn函数:
trackByFn(index: number, item: any) {
return item.id; // 用于跟踪数组的唯一标识符
}
确保item对象具有唯一的标识符,可以使用item的id属性作为跟踪标识符。