These are practice exercises for Pluralsight’s Angular Fundamentals course. They are also great stand-alone exercises and you can refer to the course for a little training for each of them.
The exercises below are broken up into sections by course module and contain links to the clip in the course that discusses
that topic, a link to the practice exercise on Plunker, and a link to the finished example for each exercise. Try to finish
each exercise before looking at the finished example.
Introduction and Getting Started
Clip | Practice Exercise | Finished Example |
---|---|---|
Creating Our First Component | Defining SystemJS Packages | Finished |
Creating Our First Component | Bootstrapping an App Component | Finished |
Creating and Communicating Between Components
Exploring the New Template Syntax
Creating Reusable Services
Clip | Practice Exercise | Finished Example |
---|---|---|
Creating and Injecting Services | Finished |
Routing and Navigating Pages
Collecting Data with Forms and Validation
Clip | Practice Exercise | Finished Example |
---|---|---|
Creating a Template-based Form | Finished | |
Validating a Template-based Form | Finished | |
Creating a Reactive Form | Finished | |
and
|
Validating a Reactive Form | Finished |
Creating Custom Validators | Creating a Custom Validator | Finished |
Reusing Components with Content Projection
Clip | Practice Exercise | Finished Example |
---|---|---|
Creating a Component with Content Projection | Finished | |
Creating a Component with Multiple Slot Content Projection | Finished |
Manipulating Data With Pipes
Clip | Practice Exercise | Finished Example |
---|---|---|
Using the Lowercase Pipe | Finished | |
Using the Date Pipe with Parameters | Finished | |
Creating a Custom Pipe | Finished | |
Using the ngOnChanges Lifecycle Hook | Finished | |
Filtering Data | Finished | |
Sorting Data | Finished |
Understanding Dependency Injection
Clip | Practice Exercise | Finished Example |
---|---|---|
Use an Opaque Token & @Inject() | Finished | |
Use the useExisting provider | Finished |
Creating Directives and Advanced Components
Clip | Practice Exercise | Finished Example |
---|---|---|
Create a Directive | Finished | |
Listen to Route Parameter Changes of a Parameterized Page | Finished | |
Using @viewChild | Finished |
Communicating with the Server using HTTP, Observables, and Rx
Clip | Practice Exercise | Finished Example |
---|---|---|
Turning an Observable into a Promise | Finished | |
Making an HTTP Get Request | Finished | |
Massaging Requested Data with Map | Finished | |
Using Querystring Parameters | Finished |
Unit Testing Your Code
Clip | Practice Exercise | Finished Example |
---|---|---|
Write a Basic Test | Finished | |
Test a Service | Finished | |
Use a Jasmine Spy Object | Finished | |
Mock a Http Call | Finished | |
Use toHaveBeenCalledWith | Finished |
Testing Components with Integrated Tests
Clip | Practice Exercise | Finished Example |
---|---|---|
Test a Component with an Integrated Test | Finished |