Book Image

Essential Angular

By : Victor Savkin, Jeff Cross
Book Image

Essential Angular

By: Victor Savkin, Jeff Cross

Overview of this book

Essential Angular is a concise, complete overview of the key aspects of Angular, written by two Angular core contributors. The book covers the framework's mental model, its API, and the design principles behind it. This book is fully up to date with the latest release of Angular. Essential Angular gives you a strong foundation in the core Angular technology. It will help you put all the concepts into the right places so you will have a good understanding of why the framework is the way it is. Read this book after you have toyed around with the framework, but before you embark on writing your first serious Angular application. This book covers concepts such as the differences between Just-In-Time (JIT) and Ahead-Of-Time (AOT) compilation in Angular, alongside NgModules, components and directives. It also goes into detail on Dependency Injection and Change Detection: essential skills for Angular developers to master. The book finishes with a look at testing, and how to integrate different testing methodologies in your Angular code.
Table of Contents (11 chapters)

Wrapping up

Form handling is a complex problem. One of the main reasons AngularJS got so successful is that two-way bindings and ng-model provided a good solution for it. But there were some downsides, mainly complex forms built with ng-model made the data flow of the application hard to follow and debug. Angular 2+ builds up on the ideas from Angular 1, but avoids its problems.

NgModel and friends are no longer part of the core framework. The @angular/core package only contains the primitives we can use to build a form-handling module. Instead, Angular has a separate package—@angular/forms—that comes with FormsModule and ReactiveFormsModule that provide two different styles of handling user input.

Both the modules depend on the form model consisting of FormControl, FormGroup, and FormArray. Having this UI-independent model, we can model and test input handling without rendering any components.