Book Image

Angular 2 Components

By : Robin Böhm, Nir Kaufman, Thierry Templier Thierry
Book Image

Angular 2 Components

By: Robin Böhm, Nir Kaufman, 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

Managing dependencies with modules

One of the most important changes introduced in JavaScript is modules. A module is a JavaScript file that gets loaded in a special way. All variables and declarations are scoped to the module. If we like to expose some code to the outside world, we need to export it explicitly. If you try to log the value of this in the top level of the module, you will get undefined.

The export and import statements

The export and import keywords are used to define which part of the code should be exposed to other modules, and which code we will like to import from another module. The following module exposes a function, a class, and a variable:

export function getRandomNumber() {
  return Math.random();

export class User {
  constructor(name) { = name;

export const id = 12345;

To use this exported code, we need to import it in another module. We can import this code in various ways:

// import only the function from the module
import { getRandomNumber...