首页 文章

针对特殊情况的OnPush变化检测

提问于
浏览
1

我用ngrx开发了一个Angular 2应用程序,我对OnPush变化检测感兴趣,以获得更好的性能 . 我读了几篇关于它的文章说:“如果一个组件仅依赖于它的输入属性,并且它们是不可变的,那么当且仅当其中一个输入属性发生变化时,该组件才会发生变化 . ”因此,我有两个关于OnPush的(简单)问题:

1)如果我的组件混合了@Input()属性而不是输入属性,那么OnPush是无用的吗?

2)仅具有属性(无@Input)的组件的相同问题 .

先谢谢:)

1 回答

  • 1

    OnPush不会影响组件内部状态 .

    如果你看看Victor Savkin的这个excellent post,他特别提到了

    值得注意的是,只要组件因更新输入或从组件模板中触发事件而更改,组件仍可具有私有可变状态 . OnPush策略唯一不允许的依赖于共享的可变状态 . 在这里阅读更多相关信息 .

    值得花时间在这篇文章以及他提到的同伴帖子上 .

相关问题