我正在尝试在我的角度服务内部加载一个外部打字稿类。我有一项名为anyservice的服务。我正在一个文件夹中创建一个导出类,我想在我的服务中获得一个函数,因为我的类代码是:
export class Functions {
testy() {
alert("I am testy");
}
}
我正在使用以下方法在我的服务中调用此Functions类:
import{Functions} from '../data/f'
但是当我尝试使用以下方法获取服务时,
constructor(private f: Functions)
我遇到错误:
ERROR Error: Uncaught (in promise): Error: StaticInjectorError(AppModule)[Functions]:
StaticInjectorError(平台:核心)[功能]:
如何在服务中这样调用函数:
test() {
this.f.testy();
}
访问服务内部外部类的最佳方法是什么
答案 0 :(得分:0)
最好将Injectable
装饰器添加到类中。但是,如果您不能这样做(也许这是第三方库中的一个类),只要您在模块的提供程序中声明它,就仍然可以将其注入到组件/服务中。
@NgModule({
imports: [ BrowserModule, FormsModule ],
declarations: [ AppComponent, HelloComponent ],
bootstrap: [ AppComponent ],
providers: [Functions]
})
注意:如果您的Injectable
类需要在其自己的构造函数中注入其他类,则需要Functions
装饰器。