热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

如何在角度组件之间共享功能?

如何解决《如何在角度组件之间共享功能?》经验,为你挑选了1个好方法。

我有3种类型的组件来处理表单.他们是:

EntityFormEditComponent //To Edit

EntityFormViewComponent // To Visualize

EntityFormCreateComponent // To Create

他们有一个共同的父母,他们EntityFormComponent共享自己之间的基本逻辑.

当我创建一个新实体时,该实体从基本表单组件扩展,如下所示:

UserFormEditComponent extends from EntityFormEditComponent

UserFormViewComponent extends from EntityFormViewComponent

UserFormCreateComponent extends from EntityFormCreateComponent

这种组织我的项目的方式产生了一个问题:

我如何分享这3个组件之间的常用方法?

我认为该服务将是一种解决方案,但不是可以推荐的,因为它们不用于处理组件逻辑.



1> Vikas..:

我认为该服务是一种解决方案,但不建议使用,因为它们不用于处理组件逻辑.

Angular将组件与服务区分开来,以增加模块化和可重用性. 将复杂的组件逻辑委托给服务是一种很好的做法

角度样式指南
将组件中的逻辑限制为仅视图所需的逻辑.所有其他逻辑应该委托给服务.

将可重用逻辑移动到服务上并使组件保持简单并专注于其预期目的.

为什么?当放置在服务中并通过函数公开时,逻辑可以被多个组件重用.

为什么?服务中的逻辑可以更容易地在单元测试中被隔离,而组件中的调用逻辑可以很容易地被模拟.

为什么?从组件中删除依赖项并隐藏实现详细信息.

为什么?保持组件纤薄,修剪和聚焦.

服务的使用在Angular中还确保您不违反DRYSRP 软件开发原则.对于您的方案,最佳解决方案是使用服务


推荐阅读
  • 本文介绍了在使用Visual Studio 2015进行项目开发时,遇到类向导弹出“异常来自 HRESULT:0x8CE0000B”错误的解决方案。通过具体步骤和实践经验,帮助开发者快速排查并解决问题。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文详细介绍了如何在 Windows 环境下使用 node-gyp 工具进行 Node.js 本地扩展的编译和配置,涵盖从环境搭建到代码实现的全过程。 ... [详细]
  • 本文探讨了如何通过预处理器开关选择不同的类实现,并解决在特定情况下遇到的链接器错误。 ... [详细]
  • 本文详细介绍了如何在PHP中进行数组删除、清空等操作,并提供了在Visual Studio Code中创建PHP文件的步骤。 ... [详细]
  • 探讨如何修复Visual Studio Code中JavaScript的智能感知和自动完成功能在特定场景下无法正常工作的问题,包括配置检查、语言模式选择以及类型注释的使用。 ... [详细]
  • InmyapplicationIhaveQGraphicsScenewithpixmapaddedandallisviewedinQGraphicsViewwithsc ... [详细]
  • 本文介绍如何在 Visual Studio Code 中使用 Jupyter Notebook 插件,包括创建、编辑和运行笔记本的基本操作。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • Android 九宫格布局详解及实现:人人网应用示例
    本文深入探讨了人人网Android应用中独特的九宫格布局设计,解析其背后的GridView实现原理,并提供详细的代码示例。这种布局方式不仅美观大方,而且在现代Android应用中较为少见,值得开发者借鉴。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 三星W799在2011年的表现堪称经典,以其独特的双屏设计和强大的功能引领了双模手机的潮流。本文详细介绍其配置、功能及锁屏设置。 ... [详细]
author-avatar
朗月清风的海角
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有