30多个组件的Angular Input与RxJS的比较

问题描述 投票:0回答:1

我的应用只要有一些数据要处理(一组60多个对象),性能就会急剧下降。这真是太疯狂了,因为真的没有什么事情发生。

我有一个对象数组,然后需要对其进行过滤,并以类似日历的布局显示。现在,该日历的每一个 "天 "都是一个组件,它扩展了一个基本的 "天 "组件,而这个组件又订阅了一个持有上述对象数组的全局主题。这意味着在一个月的视图中,5周的时间里,我在一个页面上有35个订阅(这还没有算上UI的其他部分的订阅)。我怀疑订阅的数量使得它对用户操作的响应速度如此之慢。

如果我有一个 "真相来源",需要在一个页面上根据几个过滤器(如,模式,布局,日期)过滤35次,哪种替代方法可以提高性能?

我知道 @Input 理论上可以做到这一点,但当我试过后,它似乎更糟糕的一个选项。有什么办法吗?

angular typescript rxjs angular-components
1个回答
1
投票

试着改变 Change Detection StrategyOnPush的值时,angular才会检查是否有变化。@Input 变量变化,减少处理。

@Component({
  template: `...`,
  changeDetection: ChangeDetectionStrategy.OnPush
})

你可以得到更多关于该配置的信息 此处.

© www.soinside.com 2019 - 2024. All rights reserved.