// #docplaster //#docregion import {Component, Injector} from 'angular2/core'; import {Car, Engine, Tires} from './car/car'; import {HeroService} from './heroes/hero.service'; import {heroServiceProvider} from './heroes/hero.service.provider'; import {Logger} from './logger.service'; //#docregion injector @Component({ selector: 'my-injectors', template: `

Other Injections

{{car.drive()}}
{{hero.name}}
{{rodent}}
`, providers: [Car, Engine, Tires, heroServiceProvider, Logger] }) export class InjectorComponent { constructor(private _injector: Injector) { } car:Car = this._injector.get(Car); //#docregion get-hero-service heroService:HeroService = this._injector.get(HeroService); //#enddocregion get-hero-service hero = this.heroService.getHeroes()[0]; get rodent() { let rous = this._injector.getOptional(ROUS); if (rous) { throw new Error('Aaaargh!') } return "R.O.U.S.'s? I don't think they exist!"; } } //#enddocregion injector /** * R.O.U.S. - Rodents Of Unusual Size * // https://www.youtube.com/watch?v=BOv5ZjAOpC8 */ class ROUS { }