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
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Introduction to TypeScript


The most important thing that you should know about TypeScript is that it's not a completely new language. It's a superset of ES6. This means an ES6 code can be converted to TypeScript just by changing the file extension from .js to .ts.

For example, the following code is a valid ES6 or TypeScript:

class User {
  constructor(id){
    this.id = id;
  }

  getUserInfo(){
    return this.userInfo;
  }
}

On the other hand, the TypeScript compiler can target various versions of JavaScript, including ES6. The compiler will peel all the extra code and output clean and readable JavaScript code that is almost identical to the source.

This is a simple TypeScript class:

class Product {
  private id: number;
  private color: string;

  constructor(id:number, color:string) {
    this.id = id;
    this.color = color;
  }
}

Targeting ES6 will output this code:

class Product {
  constructor(id, color) {
    this.id = id;
    this.color = color;
  }
}

And this is the completion result...