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中,有没有可能达到同样的效果?换句话说,到:
- 将任何函数(不是 class)标记为可注入?
- 使用特定注入器调用此可注入函数(等同于 $injector.invoke)?
在 @angular
中,唯一可以使用 injector
来调用依赖项的地方是 @Injectable
类(例如组件、服务、指令等... ).
因此,为了实现这一点,您可以添加一个 @Injectable
装饰器,如下所示:
@Injectable({
providedIn: 'root'
})
export class FunService {
constructor(myService: MyService, yourService: YourService) {}
fun() {
//implement fun
}
}
在 AngularJS 中,可以将一个函数标记为可注入的,并通过 $injector.invoke
:
function fun(myService, yourService) {
'ngInject';
// do something with myService, yourService
}
$injector.invoke(fun);
在Angular中,有没有可能达到同样的效果?换句话说,到:
- 将任何函数(不是 class)标记为可注入?
- 使用特定注入器调用此可注入函数(等同于 $injector.invoke)?
在 @angular
中,唯一可以使用 injector
来调用依赖项的地方是 @Injectable
类(例如组件、服务、指令等... ).
因此,为了实现这一点,您可以添加一个 @Injectable
装饰器,如下所示:
@Injectable({
providedIn: 'root'
})
export class FunService {
constructor(myService: MyService, yourService: YourService) {}
fun() {
//implement fun
}
}