Angular中的数据以组件树的形式向下流动。如果在检查树之后由于子组件导致父组件中的某些内容发生更改,则肯定会导致错误。
Expression has changed after it was checked
我在网上看到的一件事是重新设计数据的流动方式,使其以单向流动。另一种方法是进行手动更改检测,例如调用类
ChangeDetectorRef.detectChanges();
处理更新树。我很好奇是否有正确的方法来处理当应用程序变大时出现的这类问题。
我的问题主要是不得不进行手动更改检测?我们是否必须重新设计我们的应用程序。
答案 0 :(得分:0)
您可以使用ChangeDetectionStrategy.OnPush策略,因此只有在组件输入属性发生变化时才会跳过并且不会一直执行更改检测
@Component({
...
changeDetection: ChangeDetectionStrategy.OnPush
})