Book Image

Angular 2 Components

By : Thierry Templier Thierry
Book Image

Angular 2 Components

By: Thierry Templier Thierry

Overview of this book

This book is a concise guide to Angular 2 Components and is based on the stable version of Angular 2. You will start with learning about the Angular 2 Components architecture and how components differ from Angular directives in Angular 1. You will then move on to quickly set up an Angular 2 development environment and grasp the basics of TypeScript. With this strong foundation in place, you will start building components. The book will teach you, with an example, how to define component behavior, create component templates, and use the controller of your component. You will also learn how to make your components communicate with each other. Once you have built a component, you will learn how to extend it by integrating third-party components with it. By the end of the book, you will be confident with building and using components for your applications.
Table of Contents (16 chapters)
Angular 2 Components
About the Authors
About the Reviewers

The component selector

As we have seen in the first example of this chapter, the selector that we defined in the component decorator becomes an element that renders to the DOM. Before we explore our selector options, let's understand how Angular renders this component.

As we discussed in Chapter 1, Angular 2 Component Architecture, an Angular 2 application can be described as a tree of components. Like any other tree structure, there is only one root node. Currently in our project we got only one component, which is used as the tree node.

With this information, let's see how Angular instantiates our root component and renders it:

Under the src/app directory in the project root, locate and open the app.module.ts file. This file contains the definition of the root module of the application:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http'...