我们能否将一个类(非服务)作为共享实用程序,通过角度依赖性注入而注入到服务甚至组件中?
MyUtilClass
export class MyUtilClass{
do(){
// something
}
}
MyService
export class MyService{
constructor(private uitl:MyUtilClass){
util.do();
}
}
答案 0 :(得分:3)
您可以通过运行cli进行服务
ng generate service servicename
它将自动注入您的班级
答案 1 :(得分:1)
angular服务只是一个类,因此您可以将任何类注入任何类
实用程序
%
MyServiceService
%%
import { Injectable } from '@angular/core'; @Injectable({providedIn:'root'}) export class Utility { constructor(){ console.log('Utility is created'); } }
中第6个功能中的另一种方法是将MyServiceService实用程序添加到 app.module.ts 中的providers数组,在这种情况下,您可以删除Utility类中的@Injectable装饰器
{{3}}
答案 2 :(得分:0)
您可以创建文件,例如util.ts中包含您的utils和export函数,例如直接包含在
export function do() {
//do something
}
接下来,它可能会导入并用于您的服务。另一方面,您可以创建MyUtilService而不是类,并以Angular建议的方式将其提供给MyService。