@injectable decorator can have following values :
1. 'providedIn': root - It means that the service is provided in the root injector of the application and is accessible in all modules and components of the application. Even if the application has lazy loaded modules , same serivce instance would be shared with them too.
2. 'providedIn': moduleClassName - It means that service is provided in the injector of the specific module whose name is specified against 'providedIn' key. Hence it would be accessible at that perticular module level.
3. 'provideIn': any - It means that the service would be present in the root injector of the application . Although , if there are lazy loaded modules in the application then they would get there own instance of the service.
4. 'providedIn': platform - It can be used when there are multiple angular elements ( angular web components) in a single page , and we want the same inastance of the service to be shared across all the angular elements.