2

角度文档建议使用容器注册服务 1)通常在根范围内,或 2)在特定模块的范围内。

所以在一般情况下,像这样:

@Injectable({ providedIn: "root" })

但是我看到很多这样的代码:

@Injectable()

在这种情况下,服务将在哪个范围内注册?不指定范围有什么影响,这对摇晃树有何影响?

4

1 回答 1

2

如果是,则在数组@Injectable()中的组件级别或模块级别注册providers

组件级别:

@Component({
    selector: 'my-app',
    template: '<h1>{{ title }}</h1>',
    providers: [ExampleService]
})

模块级别:

@NgModule({
  //other metadata properties
  providers: [ExampleService]
})
于 2019-06-19T09:46:47.717 回答