如何将类注入Service [Angular 6]

时间:2018-11-06 12:03:36

标签: angular typescript angular6

我们能否将一个类(非服务)作为共享实用程序,通过角度依赖性注入而注入到服务甚至组件中?

MyUtilClass

export class MyUtilClass{

  do(){
     // something
  }
}

MyService

export class MyService{
  constructor(private uitl:MyUtilClass){
    util.do();
  }
}

3 个答案:

答案 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。