我在其他mat-menu
中有一个component
(来自角材料)。在mat-menu
中选择一个选项时,我将选择的值发送给其他component
,并且接收所发送值的component
将该值绑定到pipe
的自变量。 pipe
方法使用lodash的深层副本。当我在菜单内的选项之间切换时,mat-menu
被冻结,并且UI缓慢。我也尝试过JSON.parse(JSON.stringify())
进行深度复制。我的数据是嵌套的(四个级别)。缓慢的原因可能是什么?
[Angular Material Mat-Menu
]触发多重更改检测。即使在悬停时也会触发更改检测。当您执行四次多级链接时。您正在使用四个*ngFor
创建级联更改检测。
您可以通过添加trackBy
进行验证。
临时解决方案是将每个都划分为不同的部分,并使用OnPush
Changedetection
战略。
永久解决方案是将更改检测固定在角材mat-menu
组件中。
使用TrackBy
和onPush
ChangeDetection
,您将获得一些性能提升。