angular - 如何减少 Angular 5 中的代码行数
问题描述
我们的 Angular 5 应用程序文件不断增长,因为我们的应用程序是具有动态组件的 SPA。我们使用布局作为主组件,并在主组件上渲染其他组件。因此大部分逻辑都落在了主组件上,主组件.ts 占据了大约 1460 行。我们已将实用程序方法移至实用程序,但仍有 1460 行。
在这里分享你的想法。
解决方案
其中 A 是您的主要组件,您正在这样做:
A --> B
因此,组件 B 中回调处理程序的所有逻辑都在组件 A 中,为 A 搅浑水。(显然会有 C、D、E 等,其回调逻辑也在 A 中)。
你应该这样做:
A --> B --> C
这里 C 负责 C 所做的任何事情的主要逻辑, B 处理回调事件。A 保持清洁。
(您可以一起开发 B 和 C,或者 C 可以是可重用的或库组件)
这是 Angular 中公认的模式,但被新开发人员忽略了。这种模式确保关注点分离。
组件间通信通常通过全局存储解决方案(例如ngrx)或通过基于主题的服务来实现(尽管@Input @Output 模式有时也很有用)。
ngrx:https ://github.com/ngrx/platform (关于 Udemy 的精彩教程)
基于主题的服务:https ://angular.io/guide/component-interaction#parent-and-children-communicate-via-a-service (不限于父子)
这篇文章可能会有所帮助:https ://blog.angulartraining.com/component-architecture-with-angular-6f7bc9165443?__s=nrn5hrwjji1wznrbpids
此外,值得一提的是,组件的存在有以下两个原因之一:
(1) 代码组织——减少父组件的代码量/复杂度。
(2) 再利用
在这里,您需要专注于 (1) 并更好地模块化您的应用程序。
推荐阅读
- r - 如何在指定列中找到前 3 个最大值?
- swift - SwiftUI 中的全局 UserDefaults 变量
- c++ - C++ 错误 - 传递 'const 数据集
' 作为 'this' 参数丢弃限定符[-fpermissive] - reactjs - 在 React 组件中创建触发器 onChange
- flutter - 如何在颤振的自动完成文本字段上使用颤振驱动程序进行集成测试
- html - 如何更改引导程序或 css 中字段的颜色?
- postgresql - 串行列在 PostgreSQL 中占用了不成比例的空间量
- java - 整数同步未正确锁定
- javascript - jQuery中的模板文字
- html - 如何在孩子的 css 类声明中获取 html 元素的子位置