我需要在我的组件中使用附加服务。看来我应该可以这样做
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers: [firstService, additionalService]
})
但它不起作用。
我需要在我的组件中使用附加服务。看来我应该可以这样做
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers: [firstService, additionalService]
})
但它不起作用。
如果没有更多代码,很难理解您是如何尝试实现服务的。Angular 组件通过组件类的构造函数中的依赖注入来使用服务,如下所示:
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers: [firstService, additionalService]
})
export MyClassComponent {
constructor(private svc1: firstService, private svc2: additionalService} {
}
method1() {
this.svc1.someMethod();
}
}
每次将服务注册为提供者时,都会创建一个服务实例。在应用程序的模块级别而不是在组件中提供服务是一种更好的做法。服务被创建为单例,然后在需要的地方注入。更多关于模块和服务提供者的信息可以在 Angular 文档中找到。