我将工厂编写为Typescript类,并在需要时使用new FactoryName()
进行实例化。
我通过这样做来让它作为工厂工作:.factory('FactoryName', function() { return FactoryName; })
并且效果很好,但现在我需要将另一个我在Typcript之外制作的工厂注入其中而不会污染构造函数调用。这可能吗?
答案 0 :(得分:0)
是
app.factory('FactoryName', ['...', (...deps) => new FactoryName(...deps)]);
由于匿名函数与$inject
注释不兼容,因此数组注释更适合这种情况。
答案 1 :(得分:0)
我找到了解决方法:
export function FactoryName(injectedService1, injectedService2) {
return class FactoryClass {
constructor() {
let test = injectedService1.testFunction();
}
}
}
app.factory('FactoryName', FactoryName)