Angular: AngularJS $injector.invoke 相当于调用可注入函数

Angular: AngularJS $injector.invoke equivalent to invoke injectable function

在 AngularJS 中,可以将一个函数标记为可注入的,并通过 $injector.invoke:

调用它来将服务注入到该函数中
function fun(myService, yourService) {
  'ngInject';

  // do something with myService, yourService
}

$injector.invoke(fun);

在Angular中,有没有可能达到同样的效果?换句话说,到:

@angular 中,唯一可以使用 injector 来调用依赖项的地方是 @Injectable 类(例如组件、服务、指令等... ).

因此,为了实现这一点,您可以添加一个 @Injectable 装饰器,如下所示:

@Injectable({
  providedIn: 'root'
})
export class FunService {

  constructor(myService: MyService, yourService: YourService) {}

  fun() {
    //implement fun
  }

}