gpt4 book ai didi

angular - 将服务用于 Angular 简单实用功能的要点

转载 作者:行者123 更新时间:2023-12-05 07:42:55 25 4
gpt4 key购买 nike

我有一个关于 Angular 服务的问题。

假设我有这个简单的服务:

 @Injectable()
export class ApplicationUtilsService {

constructor() {
}

checkIfObjectExistAndGet(map: Map<string, Object>, sectionName: string): Object {
return map.has(sectionName) ? map.get(sectionName) : {};
}

}

为什么不直接创建和导出函数:

export function  checkIfObjectExistAndGet(map: Map<string, Object>, sectionName: string): Object {
return map.has(sectionName) ? map.get(sectionName) : {};

这样我就可以随时导入它。不需要将其注入(inject)组件,因此创建测试更容易(我不需要提供服务或创建模拟)。

所以我想知道这些类型的功能是否应该由服务提供,或者是否可以像上面的示例那样创建它并导入?

最佳答案

在这个简单的用例中绝对没问题!但是,想象一下,当您的应用程序增长并且需要引用 map 或其他一些对象作为资源存储时,可能跨越组件层次结构的相邻(非嵌套)子树......您如何实现这一点而不是不想发出不必要的 API 请求或重放昂贵的操作?将你的 map /资源/对象封装在一个服务中,这样现在它是一个单例(它只会创建自己一次)并且现在你有效率和灵 active

关于angular - 将服务用于 Angular 简单实用功能的要点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44085515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com