该问题通常是由于使用了不安全的变更检测策略而导致的。为了解决该问题,可以使用OnPush变更检测策略,并在组件的输入属性发生更改时手动触发变更检测。
示例代码:
@Component({
selector: 'app-image',
template:
,
changeDetection: ChangeDetectionStrategy.OnPush // 设置组件使用OnPush变更检测策略
})
export class ImageComponent {
@Input() imageUrl: string;
constructor(private cdr: ChangeDetectorRef) {}
ngOnChanges(changes: SimpleChanges) { this.cdr.detectChanges(); // 手动触发变更检测 } }