Book Image

Switching to Angular - Third Edition

By : Minko Gechev
Book Image

Switching to Angular - Third Edition

By: Minko Gechev

Overview of this book

Align your work to stable APIs of Angular, version 5 and beyond, with Angular expert Minko Gechev. Angular is the modern Google framework for you to build high-performance, SEO-friendly, and robust web applications. Switching to Angular, Third Edition, shows you how you can align your current and future development with Google's long-term vision for Angular. Gechev shares his expert knowledge and community involvement to give you the clarity you need to confidently switch to Angular and stable APIs. Minko Gechev helps you get to grips with Angular with an overview of the framework, and understand the long-term building blocks of Google's web framework. Gechev then gives you the lowdown on TypeScript with a crash course, so you can take advantage of Angular in its native, statically typed environment. You'll next move on to see how to use Angular dependency injection, plus how Angular router and forms, and Angular pipes, are designed to work for your projects today and in the future. You'll be aligned with the vision and techniques of the one Angular, and be ready to start building quick and efficient Angular applications. You'll know how to take advantage of the latest Angular features and the core, stable APIs you can depend on. You'll be ready to confidently plan your future with the Angular framework.
Table of Contents (10 chapters)

Using dependency injection with components and directives

In Chapter 5, Getting Started with Angular Components and Directives, when we developed our first Angular directive, we saw how we can take advantage of the DI mechanism to inject services into our UI-related building blocks (that is, directives and components).

Let's take a quick look at what we did earlier, but from a DI perspective:

// ch5/tooltip/app.ts
 
// ... 
@Directive(...) 
export class Tooltip { 
  @Input() saTooltip: string; 
 
  constructor(private el: ElementRef, private overlay: Overlay) { 
    this.overlay.attach(el.nativeElement); 
  } 
  // ... 
}
 
@Component({ 
  // ... 
  providers: [Overlay]
}) 
class App {} 

Most of the code from the earlier implementation is omitted because it is not directly related to our current focus.

Note that the constructor of Tooltip accepts two dependencies:

  • An instance...