Angular 显示和隐藏组件,而不是销毁和重新创建组件
我有一个多步骤的表格。我有6-7个步骤,现在我已经设计了系统,就像每个步骤都是一个组件一样。当用户切换到下一步时,上一步组件被销毁,新的步骤组件被初始化。所以我总共有6-7个组件。显示和隐藏组件更好,销毁和重新创建组件更好。如果需要,可以使用:Angular 显示和隐藏组件,而不是销毁和重新创建组件,angular,performance,Angular,Performance,我有一个多步骤的表格。我有6-7个步骤,现在我已经设计了系统,就像每个步骤都是一个组件一样。当用户切换到下一步时,上一步组件被销毁,新的步骤组件被初始化。所以我总共有6-7个组件。显示和隐藏组件更好,销毁和重新创建组件更好。如果需要,可以使用: 控制台。时间() console.profile() 性能。现在() 计算性能并比较两种解决方案 您将发现以下使用示例: 可能会破坏并创建 Angular在实例化新组件/组件内容时访问shadow dom,这对性能的负担要小得多: shadowd
- 控制台。时间()
- console.profile()
- 性能。现在()
可能会破坏并创建 Angular在实例化新组件/组件内容时访问shadow dom,这对性能的负担要小得多: shadowdom是指浏览器能够将DOM元素的子树包含到文档的呈现中,而不是包含到主文档DOM树中。。。。。。对DOM的更改通常会导致重新呈现页面 此外,如果您只显示和隐藏,那么您将错过angular框架为您提供的关于屏幕上组件“显示/渲染”的所有方便的生命周期挂钩
ngOnInit
,ngAfterViewInit
等
还需要进一步注意的是,通过css隐藏/显示元素不会操纵DOM,我推荐的主要原因是为了使用生命周期挂钩,并且在删除影子DOM内容时,从性能角度看,这会减轻负担。首先,解释一下“更好”的概念是什么我已经解释了我是如何实现和替换的,以便进行比较。