// #docplaster // #docregion import { Component, ElementRef, Host, Inject, Optional } from '@angular/core'; import { HeroCacheService } from './hero-cache.service'; import { LoggerService } from './logger.service'; // #docregion component @Component({ selector:'hero-contact', template:`
Phone #: {{phoneNumber}} !!!
` }) export class HeroContactComponent { hasLogger = false; constructor( // #docregion ctor-params @Host() // limit to the host component's instance of the HeroCacheService private heroCache: HeroCacheService, @Host() // limit search for logger; hides the application-wide logger @Optional() // ok if the logger doesn't exist private loggerService: LoggerService // #enddocregion ctor-params ) { if (loggerService) { this.hasLogger = true; loggerService.logInfo('HeroContactComponent can log!'); } // #docregion ctor } // #enddocregion ctor get phoneNumber() { return this.heroCache.hero.phone; } } // #enddocregion component