Angular 在多个组件中共享函数的最佳解决方案

Angular 在多个组件中共享函数的最佳解决方案,angular,Angular,我需要一个在两个组件中共享的函数,我认为如果我们在模板中使用此函数,我们可以将此函数投入使用,或者使用自定义管道,但最好的解决方案是什么?如果函数具有状态或依赖项,则服务是最好的 否则,我只使用了一个简单的[business area].utility.ts文件,并将我所有的纯函数都放在那里。关于角度,它们是如何引入管道的: 引入角度管道,这是一种编写可在HTML中声明的显示值转换的方法 函数,无论是否通过服务访问,都可用于任何形式的处理、访问API、进行复杂处理等。如果您需要跨多个组件进行一些

我需要一个在两个组件中共享的函数,我认为如果我们在模板中使用此函数,我们可以将此函数投入使用,或者使用自定义管道,但最好的解决方案是什么?

如果函数具有状态或依赖项,则服务是最好的

否则,我只使用了一个简单的[business area].utility.ts文件,并将我所有的纯函数都放在那里。

关于角度,它们是如何引入管道的:

引入角度管道,这是一种编写可在HTML中声明的显示值转换的方法

函数,无论是否通过服务访问,都可用于任何形式的处理、访问API、进行复杂处理等。如果您需要跨多个组件进行一些处理,那么将函数放在服务中并不是一个坏主意

当您需要格式化某些数据(日期、在注入HTML之前进行一些字符串处理等)时,管道非常有用,并且可以轻松地包含在多个页面中

因此,决定你的意图是什么,并使用正确的组件来实现目标。如果您想更改或编辑某些内容在HTML中的显示方式,管道可能就是您想要的

如果它是复杂的、非琐碎的或对HTML没有显示效果,那么函数是合适的选择


选项三是简单地创建另一个保存此函数(以及您需要的任何其他实用程序/辅助程序样式函数)的文件,并根据需要导入该文件。

取决于函数的功能。自定义管道就是管道。您想要一个管道还是一个可以从两个组件的TypeScript代码调用的函数?你知道什么是管子,它们是用来干什么的吗?你的功能合格吗?它应该做什么?在这里你打算使用它吗?它只是一个检查字符串是否是回文的函数。我需要用两个组件来调用这个方法,也许你应该展示这个函数和一个如何使用它的示例,然后你可能两个都不用。只是一个从TypeScript文件导出的函数。我想签入第一个组件,如果单词是回文的话,那么在html中idisplay ok,否则ko,第二个组件将通过API显示一个回文列表,并将以绿色显示有效的回文行,以红色显示无效的回文行。管道将很容易工作,或者是一个有用函数的帮助文件。如果回文就是服务的全部功能,那么服务就太过分了。所以你建议我使用有用函数的帮助文件或管道