Angular JS - 解决自定义函数的依赖关系

Raa*_*esh 2 javascript angularjs

我有一个函数,它将服务作为参数.

function CustomFunc(MyAngularService) {
}
Run Code Online (Sandbox Code Playgroud)

此功能不在角度的上下文中.这未注册为服务.有没有办法调用此函数并获取注入的依赖项并获得结果?也许使用某种角度DI服务?

一种方法我能想到的是使用像一些方法来获取函数的参数名称,然后用注射器$服务来解决依赖性,并与那些依赖调用该函数.有没有更好的方法来实现这一目标?

Rea*_*lar 6

您可以使用该$injector服务从控制器,服务或指令中调用此自定义函数.

这是一个例子.

function CustomFunc(MyAngularService) {
}

angular.controller('Foo',function($injector) {
    $injector.invoke(CustomFunc); // <-- will handle dependencies for you
});
Run Code Online (Sandbox Code Playgroud)