| 
									
										
										
										
											2016-01-11 13:49:12 +01:00
										 |  |  | // #docregion
 | 
					
						
							| 
									
										
										
										
											2016-05-03 14:06:32 +02:00
										 |  |  | import { Component, Injector } from '@angular/core'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import { Car, Engine, Tires }  from './car'; | 
					
						
							|  |  |  | import { Car as CarNoDi }      from './car-no-di'; | 
					
						
							|  |  |  | import { CarFactory }          from './car-factory'; | 
					
						
							| 
									
										
										
										
											2016-01-11 13:49:12 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | import { testCar, | 
					
						
							|  |  |  |          simpleCar, | 
					
						
							|  |  |  |          superCar }           from './car-creations'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import { useInjector }        from './car-injector'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @Component({ | 
					
						
							|  |  |  |   selector: 'my-car', | 
					
						
							|  |  |  |   template: `
 | 
					
						
							|  |  |  |   <h2>Cars</h2> | 
					
						
							|  |  |  |   <div id="di">{{car.drive()}}</div> | 
					
						
							|  |  |  |   <div id="nodi">{{noDiCar.drive()}}</div> | 
					
						
							|  |  |  |   <div id="injector">{{injectorCar.drive()}}</div> | 
					
						
							|  |  |  |   <div id="factory">{{factoryCar.drive()}}</div> | 
					
						
							|  |  |  |   <div id="simple">{{simpleCar.drive()}}</div> | 
					
						
							|  |  |  |   <div id="super">{{superCar.drive()}}</div> | 
					
						
							|  |  |  |   <div id="test">{{testCar.drive()}}</div> | 
					
						
							|  |  |  |   `,
 | 
					
						
							|  |  |  |   providers: [Car, Engine, Tires] | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | export class CarComponent { | 
					
						
							|  |  |  |   constructor(public car: Car) {} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   factoryCar  = (new CarFactory).createCar(); | 
					
						
							|  |  |  |   injectorCar = useInjector(); | 
					
						
							|  |  |  |   noDiCar     = new CarNoDi; | 
					
						
							|  |  |  |   simpleCar   = simpleCar(); | 
					
						
							|  |  |  |   superCar    = superCar(); | 
					
						
							|  |  |  |   testCar     = testCar(); | 
					
						
							|  |  |  | } |