我是新的角和跟随免费生态管理教程在youtube上。他们两岁了。
在服务教程中,我们提到需要在根providers NgModule中提到NgModule列表中的服务才能工作。但我还没在服务商里提过。
我观察到的是,在本教程中,providedIn中没有Injectable()。但是,当我在角10中创建一个新服务时,默认情况下我在Injectable()中得到了它。到目前为止,该服务没有出现任何问题。
这两个一样吗?
我们是否可以提及providedIn: 'root',而不把它放在providers列表中以使其工作,反之亦然?
发布于 2020-10-11 15:18:46
通过执行以下两种可能性之一,您可以使一个角服务单例在整个应用程序中共享相同的实例:
中的提供程序数组中。
@Injectable({ providedIn:'root‘})
,但最好的方法是使用服务本身的@Injectable()装饰器,使其树-可动摇。
如果现在是,您可以在延迟加载的模块级别上提供服务,这样服务将为每个模块提供一个新的实例。
或在组件杠杆中提供服务,因此您的组件及其子组件将具有相同的实例。
@Component({
selector: 'parent',
template: `...`,
providers: [ YourService ]
})https://stackoverflow.com/questions/64305373
复制相似问题