将服务注入到模型中是一件好事吗?

问题描述 投票:0回答:1

那么,

我正在努力创建自定义 MatTableDataSource。

目标是使用自定义过滤器/排序并直接与自定义类集成**。**

我遇到了一个问题:我需要从我的一项服务中调用一个函数。

我找到了多种解决方案

  • 其中之一是使函数“静态”。

这对于排序/过滤有意义。你拥有纯粹的、没有依赖性的功能。

  • 另一种方法是通过从 app.module.ts 导出 Injector 来将服务注入到模型中
这就是我开始思考的地方。

  • 感觉这不是一个好的解决方案,你不想通过注入创建多个类。
但在另一边

  • 如果过滤功能对应用程序中的其他功能有依赖怎么办?

  • 如果,由于某些原因,我们需要API调用怎么办?

遇到这些情况,我该怎么办?

或者我应该如何访问我的服务实例?

angular class service angular-material inject
1个回答
0
投票
我不确定你想要实现什么,但这里有一些你的问题的答案和一些基本的经验法则:

如果过滤函数对其他函数有依赖怎么办? 该应用程序?

然后您可以将这些功能提取到共享服务中,并在两个地方使用该服务。

如果由于某种原因,我们需要 API 调用怎么办?

决定谁应该负责进行此 API 调用。您使用状态管理器或服务吗?用户如何与您的表进行交互,告诉应用程序必须执行 API 调用?这是否需要由表/数据源负责,或者可以在其他地方处理吗? 不管怎样,这可能最终会形成一个服务,您可以将其注入到正确的位置。

您可能会选择一个

BaseCustomDataSource

,您可以在其上扩展特定模型,并在该数据源中为该作业注入正确的服务。

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.