Injectable decorator
What it does
A marker metadata that marks a class as available to Injector for creation. How to use
@Injectable() class Car {}  Description
For more details, see the Dependency Injection Guide. Example @Injectable()
class UsefulService {
}

@Injectable()
class NeedsService {
  constructor(public service: UsefulService) {}
}

const injector = ReflectiveInjector.resolveAndCreate([NeedsService, UsefulService]);
expect(injector.get(NeedsService).service instanceof UsefulService).toBe(true);

Injector will throw NoAnnotationError when trying to instantiate a class that does not have @Injectable marker, as shown in the example below. class UsefulService {}

class NeedsService {
  constructor(public service: UsefulService) {}
}

expect(() => ReflectiveInjector.resolveAndCreate([NeedsService, UsefulService])).toThrow();

exported from @angular/core/index defined in @angular/core/src/di/metadata.ts

    
{'path': 'public/docs/angular~2/api/core/index/injectable-decorator.html', 'source': 'DevDocs.IO'}