This document discusses dependency injection in Angular. It shows how to create injectors that provide dependencies to injectables. It demonstrates hierarchical injectors where child injectors inherit from parent injectors. It also covers how to provide dependencies through the @Injectable decorator, modules, and directly in the bootstrap process. View injectors are discussed as well as querying for dependencies from components, directives and templates.
import {Injectable,Injector} from'@angular/core'; @Injectable() class Engine {} @Injectable() class Car { constructor(public engine:Engine) {} } var injector = Injector.resolveAndCreate([Car, Engine]); var car = injector.get(Car);
import {Component} from"@angular/core"; import {Type1,Type2,Type3} from "eyalVardi"; import {Pipe1,Directive1} from "eyalVardi"; import {Component2} from "eyalVardi"; import {Service1} from "eyalVardi"; @Component({ providers :[Type1,Type2], viewProviders:[Type3] }) export class MyComponent { constructor( element : ElementRef ){} } Must solve in runtime by the Injector