4.61 sur 5
4.61

Angular – Le guide complet

Maîtrisez Angular 12 (anciennement "Angular 2") et créez des applications Web impressionnantes et réactives avec le successeur d'Angular.js
Instructeur :
Mahefa Abel
English En savoir plus
Développer des applications web modernes, complexes, réactives et évolutives avec Angular 12
Comprendre parfaitement l'architecture derrière une application Angular et comment l'utiliser
Utilisez la compréhension approfondie acquise des principes fondamentaux d'Angular pour vous établir rapidement en tant que développeur frontend
Créez des applications d'une seule page avec l'un des frameworks JavaScript les plus modernes du marché

Ce cours part de zéro, vous n’avez pas besoin de connaître Angular 1 ni Angular 2 !

Angular 12 est simplement la dernière version d’Angular 2, vous apprendrez ce cadre incroyable à partir de zéro dans ce cours !

De la Configuration au Déploiement, ce cours couvre tout ! Vous saurez tout sur les Composants, les Directives, les Services, les Formulaires, Http Accès, authentification, optimisation d’une application angulaire avec modules et compilation hors ligne et bien plus – et à la fin : vous apprendrez à déployer une application !

Mais ce n’est pas tout ! Ce cours vous montrera également comment utiliser la Angular CLI et présenter un projet complet, ce qui permet de mettre en pratique les choses apprises tout au long du cours !

Angular est l’un des frameworks frontend les plus modernes, les plus performants et les plus puissants que vous puissiez apprendre à ce jour. Il vous permet de créer d’excellentes applications Web qui offrent des expériences utilisateur exceptionnelles ! Apprenez tous les principes fondamentaux que vous devez connaître pour commencer immédiatement à développer des applications Angular.

Entendre ce que mes élèves ont à dire

 

Ce cours utilise TypeScript

TypeScript est le langage principal utilisé par l’équipe officielle Angular et le langage que vous verrez principalement dans les didacticiels Angular. C’est un sur-ensemble de JavaScript et rend l’écriture d’applications angulaires vraiment facile. Son utilisation garantit que vous aurez la meilleure préparation possible pour créer des applications angulaires. Consultez les vidéos gratuites pour plus d’informations.

Pourquoi Angular ?

Angular est la prochaine grosse affaire. Étant le successeur du framework Angular.js au succès retentissant, il est destiné à façonner l’avenir du développement frontend de la même manière. Les puissantes fonctionnalités et capacités d’Angular vous permettent de créer des applications Web complexes, personnalisables, modernes, réactives et conviviales.

Angular 12 est simplement la dernière version du framework Angular et simplement une mise à jour d’Angular 2.

Angular est plus rapide que Angular 1 et offre une approche de développement beaucoup plus flexible et modulaire. Après avoir suivi ce cours, vous serez en mesure de tirer pleinement parti de toutes ces fonctionnalités et de commencer immédiatement à développer des applications géniales.

Obtenez une compréhension approfondie de la création d’applications angulaires

Ce cours vous apprendra toutes les bases des modules, des directives, des composants, de la liaison de données, du routage, de l’accès HTTP et bien plus encore ! Nous allons faire beaucoup de plongées profondes et chaque section est soutenue par un vrai projet. Tous les exemples présentent les fonctionnalités offertes par Angular  et comment les appliquer correctement.

Plus précisément, vous apprendrez :

  • Quelle architecture Angular utilise
  • Comment utiliser TypeScript pour écrire des applications Angular
  • Tout sur les directives et les composants, y compris la création de directives/composants personnalisés
  • Comment fonctionne la liaison de données
  • Tout sur le routage et la gestion de la navigation
  • Ce que sont les Pipes et comment les utiliser
  • Comment accéder au Web (par exemple, les serveurs RESTful)
  • Qu’est-ce que l’injection de dépendances et comment l’utiliser
  • Comment utiliser les modules dans Angular
  • Comment optimiser votre (plus grande) application angulaire
  • Une introduction à NgRx et à la gestion d’état complexe
  • Nous allons construire un projet majeur dans ce cours afin que vous puissiez pratiquer tous les concepts
  • et bien plus encore !

 

Getting Started

1
Course Introduction

Welcome to this course! Let me introduce myself and explain what the course is about!

2
What is Angular?

First things first! What is Angular? Why would you want to learn it? This lecture helps answering this question.

3
Join our Online Learning Community

Learning alone is absolutely fine but finding learning partners might be a nice thing, too. Our learning community is a great place to learn and grow together - of course it's 100% free and optional!

4
Angular vs Angular 2 vs Latest Angular Version

So many Angular versions! What's up with them and which version does this course cover?

5
CLI Deep Dive & Troubleshooting

Got issues using the CLI, setting up a project or simply want to learn more about it? Check out this lecture.

6
Project Setup and First App

Enough of the talking, let's create our first Angular project and view our first app in the browser.

7
Editing the First App

Let's edit our first app!

8
The Course Structure

How is this course structured? This lecture answers the question and explains what you're going to learn!

9
How to get the Most out of the Course

Of course you can simply go through all the lectures, but to get the most out of the course, you should consider the advises given in this lecture.

10
What is TypeScript?

Angular uses TypeScript. What does that mean for you?

11
Optional: TypeScript Quick Introduction
12
A Basic Project Setup using Bootstrap for Styling

A lot of sections of this course will start with a basic setup - this lecture explains how that basic setup is created with the CLI.

13
About the Course Code / Code Snapshots

Do you get some strange error? Are you stuck? Have a look at the source code of this course.

The Basics

1
Module Introduction

Let me introduce you to the module and explain what you're going to learn.

2
How an Angular App gets Loaded and Started

We saw our first App run in the browser but do you really know how it got there? This lecture answers the question.

3
Components are Important!

Angular is all about Components! This lectures takes a closer look and explains what Components really are.

4
Creating a New Component

Thus far, we worked with the AppComponent. Time to change this and create our first own component.

5
Understanding the Role of AppModule and Component Declaration

Did you recognize that AppModule file? It's super important - this lecture explains what it's about!

6
Using Custom Components

Now that we learned how to create and register our own components, let's now dive into using them.

7
Creating Components with the CLI & Nesting Components

We can also use the CLI to create components. This lecture explains how that then works and also how you may nest components.

8
Working with Component Templates

A Component needs to have a Template. It's an absolute must. This lectures dives deeper into templates.

9
Working with Component Styles

Whilst a Component is required to have a template, Styles are optional. This lectures explains how you may add styling.

10
Fully Understanding the Component Selector

The Selector of a Component is important if you want to include it in another template. This lecture explains how that selector actually works and what to watch out for.

11
Practicing Components
12
[OPTIONAL] Assignment Solution
13
What is Databinding?

Enough about Components for now - let's finally output more dynamic content now. Databinding is super important when it comes to that. This lectures explains what Databinding is.

14
String Interpolation

One of the simplest forms of Databinding is String Interpolation which allows you to output text in your template. This lecture takes a closer look.

15
Property Binding

Property Binding is another form of Databinding - also related to outputting content. Learn more about it in this lecture.

16
Property Binding vs String Interpolation

Since both Property Binding and String Interpolation are related to outputting content, which one should you use? This lecture helps you with that decision!

17
Event Binding

So far, we only passed data to the template. What if we want to react to (User) Events? Event Binding to the rescue!

18
Bindable Properties and Events

To which Properties and Events can you bind? This article should be helpful.

19
Passing and Using Data with Event Binding

When we're talking about Events, we have to consider passing data. This lecture explains how that works.

20
Important: FormsModule is Required for Two-Way-Binding!
21
Two-Way-Databinding

You can also combine event and property binding - with Two-Way-Databinding. Learn more about it in this lecture.

22
Combining all Forms of Databinding

We learned about the different forms of Databinding, let's now combine them!

23
Practicing Databinding
24
[OPTIONAL] Assignment Solution
25
Understanding Directives

Directives are another important building block in Angular apps. Learn more about it in this lecture.

26
Using ngIf to Output Data Conditionally

ngIf is one of the built-in directives - it's super helpful if you want to output data dynamically.

27
Enhancing ngIf with an Else Condition

ngIf is not limited to the usage you learned in the last lecture. Learn how to use it together with an else condition in this lecture.

28
Styling Elements Dynamically with ngStyle

Want to change some styles dynamically? ngStyle is what you're looking for.

29
Applying CSS Classes Dynamically with ngClass

Kind of related to the dynamic styling - you can also apply CSS classes dynamically with ngClass.

30
Outputting Lists with ngFor

What if you wanted to output lists (e.g. an array)? ngFor is there for you.

31
Practicing Directives
32
[OPTIONAL] Assignment Solution
33
Getting the Index when using ngFor

ngFor also allows you to get the Index of the current iteration - this lecture explains how that works.

Course Project - The Basics

1
Project Introduction

Time to get started with the Course Project.

2
Planning the App

How should the Angular app we're building look like? Let's plan which features and components we need.

3
Creating a New App Correctly

This is an important one - make sure to not skip this lecture!

4
Setting up the Application

Let's get our hands dirty and set the app up.

5
Creating the Components

Time to create the components we planned to create. Try doing it on your own first!

6
Using the Components

With the components created in the last lecture, it's now time to use them so that we can see something.

7
Adding a Navigation Bar

Later in this course, we want to switch pages - setting up a navigation bar sounds like a great idea for that.

8
Alternative Non-Collapsable Navigation Bar

Our navbar collapses and we don't offer a hamburger menu. Feel free to implement one on your own or change the code as outlined here.

9
Creating a "Recipe" Model

We're also going to use some data in this project - time to create a model for that data.

10
Adding Content to the Recipes Components

With the model and the component created, we can now add some content to our component template.

11
Outputting a List of Recipes with ngFor

In the end, we want to have more than one recipe, so let's prepare our template to output such a list.

12
Displaying Recipe Details

We also want to display some detailed information about selected recipes, so let's add the appropriate code.

13
Working on the ShoppingListComponent

We worked on the Recipe Components, let's now do the same for the shopping list.

14
Creating an "Ingredient" Model

As with the Recipe, we're also going to use some Ingredients in our app - let's add the respective model.

15
Creating and Outputting the Shopping List

With the model added, we can work on outputting some ingredients.

16
Adding a Shopping List Edit Section

We also want to be able to add new Ingredients to the Shopping List, so let's add the respective feature.

17
Wrap Up & Next Steps

Part one of the app is finished. We achieved a lot but a lot of features are also still missing - time to move on and learn more about Angular.

Debugging

1
Understanding Angular Error Messages

Things don't always go the way you want them to go. Learn how to read Angular's error messages.

2
Debugging Code in the Browser Using Sourcemaps

It can be incredibly useful to debug your app in the browser - learn more in this lecture.

Components & Databinding Deep Dive

1
Module Introduction

We already learned some things about components but now it's time to dive deeper into them!

2
Splitting Apps into Components

This lecture explains how you may split an existing app into multiple new components.

3
Property & Event Binding Overview

You already learned about property and event binding - but you didn't learn everything about it. Time to do so now.

4
Binding to Custom Properties

You're not limited to binding to built-in properties. Indeed, binding to custom property is a key feature of Angular apps. Time to learn more about it.

5
Assigning an Alias to Custom Properties

Sometimes, you want to use a different property name outside of a component than inside of it. This lecture explains how to do that.

6
Binding to Custom Events

As with property binding, you can also bind to custom events.

7
Assigning an Alias to Custom Events

You may also assign an alias to your custom events.

8
Custom Property and Event Binding Summary

Let me summarize the things you learned about property and event binding.

9
Understanding View Encapsulation

Angular allows you to apply different styles to different components - this lecture explains how that works.

10
More on View Encapsulation

Let's dive deeper into View Encapsulation.

11
Using Local References in Templates

Sometimes, you want to get access to some of your HTML elements. Local references allow you to do just that.

12
@ViewChild() in Angular 8+
13
Getting Access to the Template & DOM with @ViewChild

You got the local references in the templates, but you can also access your elements directly from the TypeScript file - this lecture explains how that works.

14
Projecting Content into Components with ng-content

Want to pass structured content (e.g. HTML code) into another component? Learn more about it in this lecture.

15
Understanding the Component Lifecycle

Components follow a certain lifecycle - this lecture dives deeper into this topic.

16
Seeing Lifecycle Hooks in Action

Let's see those lifecycle hooks in action.

17
Lifecycle Hooks and Template Access

How can we access template elements in different lifecycle hooks? Let's find out ...

18
@ContentChild() in Angular 8+
19
Getting Access to ng-content with @ContentChild

You may also get access to the content projected into a component - let's also see how that works in lifecycle hooks.

20
Wrap Up

Let me wrap up this section about Components  & Databinding

21
Practicing Property & Event Binding and View Encapsulation
22
[OPTIONAL] Assignment Solution

Course Project - Components & Databinding

1
Introduction

Now that we learned how to pass data to components, let's enhance our app.

2
Adding Navigation with Event Binding and ngIf

Let's use the new features to add a first version of our app navigation - using custom events and ngIf.

3
Passing Recipe Data with Property Binding

We can not only listen to our own events, we can also pass data to components now, so let's do so.

4
Passing Data with Event and Property Binding (Combined)

Let's build a more complex chain of custom property and event binding to pass data around.

5
Make sure you have FormsModule added!
6
Allowing the User to Add Ingredients to the Shopping List

The user should also be able to add ingredients to the shopping list, so let's add such a feature.

Directives Deep Dive

1
Module Introduction

Let me explain what this module is about!

2
ngFor and ngIf Recap

We already learned about them, let's quickly recap ngIf and ngFor.

3
ngClass and ngStyle Recap

We already know ngStyle and ngClass but let me quickly refresh our knowledge on them.

4
Creating a Basic Attribute Directive
5
Using the Renderer to build a Better Attribute Directive

The directive we built is okay but can be enhanced. Let's do so now in this lecture.

6
More about the Renderer

This lecture allows you to dive deeper into the Renderer.

7
Using HostListener to Listen to Host Events

When using directives, you have an easy way of reacting to events on your hosting element. Learn more about it in this lecture.

8
Using HostBinding to Bind to Host Properties

You're not limited to reacting to events, you can also bind to properties of the hosting element. This lecture explains how that works.

9
Binding to Directive Properties

Property binding is of course not limited to components - let's bind to some directive properties!

10
What Happens behind the Scenes on Structural Directives

We not only have attribute directives, we also use structural directives. What's that strange "*" all about though?

11
Building a Structural Directive

Let's build our own structural directive!

12
Understanding ngSwitch

There's another nice built-in structural directive: ngSwitch. Learn more about it in this lecture.

Course Project - Directives

1
Building and Using a Dropdown Directive

Time to add a custom directive to the course project - let's enable the dropdowns by building a DropdownDirective!

2
Closing the Dropdown From Anywhere

Using Services & Dependency Injection

1
Module Introduction

Services are a core concept of Angular - let me explain what you may expect from this section.

2
Why would you Need Services?

Services are important - but why? This lecture explores this question.

3
Creating a Logging Service

Now that we understood what services are, let's create a Logging service.

4
Injecting the Logging Service into Components

We got a service but how can we use it now? Angular will help us - this lecture explains how.

5
Creating a Data Service

We got the basics set now. Time to build another service and ramp up our game!

6
Understanding the Hierarchical Injector

We learned a lot about services - time to make the next step. Angular actually allows us to control how many instances of a service get created. Learn more about this in this lecture.

7
How many Instances of Service Should It Be?

How many services should it be?

8
Injecting Services into Services

You're not limited to using Services in components or directives. This lecture explains how you may use services in services, too.

9
Using Services for Cross-Component Communication

Besides the usecases already covered in this module, services can also be very useful when it comes to allowing cross component communication. This lecture dives deeper.

10
Services in Angular 6+

Are you using Angular 6? Don't miss this new way of providing services.

11
Practicing Services
12
[OPTIONAL] Assignment Solution

Course Project - Services & Dependency Injection

1
Introduction

Time to practice services and add some to our project!

2
Setting up the Services

Let's create some service files for the services we're actually going to use in this section.

3
Managing Recipes in a Recipe Service

A great candidate for a service is the management of our recipes - let's build a service for that!

4
Using a Service for Cross-Component Communication

We learned, that services may be used for cross component communication. Let's add this feature to our app.

5
Adding the Shopping List Service

Let's add the the shopping list service to our app!

6
Using Services for Pushing Data from A to B

Besides setting up services which may be queried by other "parts" of our app, we can also actively send out messages. Let's take a closer look in this lecture.

7
Adding Ingredients to Recipes

Almost done! Let's finetune our app by allowing the addition of ingredients from a Recipe to the Shopping List. For that, we need Ingredients on Recipes - let's add them now.

8
Passing Ingredients from Recipes to the Shopping List (via a Service)

Almost done! Let's finetune our app by allowing the addition of ingredients from a Recipe to the Shopping List.

Changing Pages with Routing

1
Module Introduction

Thus far, we didn't really hide that we're building a single page application. Let's give the user the feeling of switching pages - with the Angular router!

2
Why do we need a Router?

Why would you need a router? Let's take a closer look.

3
Understanding the Example Project

In this section, we're going to use an example project - let's quickly go over it.

4
Setting up and Loading Routes

Time to get started. Before we can view any routes, we need to set some up. We'll do this now.

5
Navigating with Router Links

We got routes and we saw that we can load them. But providing some links to the user would be nice. Let's do that now.

6
Understanding Navigation Paths

When using links, we can choose between different paths we set up there. Let's learn more about them in this lecture.

7
Styling Active Router Links

Wouldn't it be nice to signal to the user which route is active? It would - so let's do that.

8
Navigating Programmatically

Besides using links, you can also navigate programmatically - learn more about this option in this lecture.

9
Using Relative Paths in Programmatic Navigation

Just like with links, you can also use different "path styles" when using programmatic navigation. There's something important to consider though!

10
Passing Parameters to Routes

Basic routing is working, but a common use case is that you encode some params in the URL. Learn how to do that in your Angular app in this lecture.

11
Fetching Route Parameters

We got params in the URL, now we need to retrieve them. This lecture teaches the simplest way of doing so.

12
Fetching Route Parameters Reactively

Retrieving params as shown in the last lecture can work fine but can also lead to unexpected behavior. Learn more about that in this lecture.

13
An Important Note about Route Observables

Important: When using route observables like params, there's something you should definitely keep in mind.

14
Passing Query Parameters and Fragments

We passed normal params, but you're not limited to that. This lecture explains how you may also pass Query Parameters and a Fragment.

15
Retrieving Query Parameters and Fragments

Just like normal Params, you can of course also retrieve Query Params and the Fragment with two different approaches.

16
Practicing and some Common Gotchas

Time to practice some things and identify some common gotchas.

17
Setting up Child (Nested) Routes

We learned a lot about routing, now it's time to also understand how you can create nested routes in your app.

18
Using Query Parameters - Practice

Let's practice the usage of query params.

19
Configuring the Handling of Query Parameters

Sometimes, you don't want to lose your query params when navigating again - this lecture helps!

20
Redirecting and Wildcard Routes

What if you simply want to redirect the user on specific paths? Nothing easier than that!

21
Important: Redirection Path Matching

There's something you should watch out for when redirecting users!

22
Outsourcing the Route Configuration

The AppModule file is growing quickly - time to outsource the routing logic.

23
An Introduction to Guards

Some navigation actions should be controlled before they are executed - Route Guards can help you with that!

24
Protecting Routes with canActivate

Let's protect routes with canActivate

25
Protecting Child (Nested) Routes with canActivateChild

canActivate is nice but what if you want to protect the child routes of a route only? canActivateChild to the rescue!

26
Using a Fake Auth Service

Not directly connected to routing but really helpful for testing your auth guard - a fake auth service.

27
Controlling Navigation with canDeactivate

You may not only control access to a route but also whether a page may be left or not - learn more about this in this lecture.

28
Passing Static Data to a Route

Sometimes, you want to pass some static data to a specific route - this lecture explains how that could be achieved.

29
Resolving Dynamic Data with the resolve Guard

You learned how to pass static data - let's now pass dynamic one. With the resolve guard.

30
Understanding Location Strategies

The Angular router supports a couple of different routing strategies. This lecture explains what that means.

31
Wrap Up

Let me wrap up this module.

Course Project - Routing

1
Planning the General Structure

Time to add some routing to our project!

2
Setting Up Routes

Let's set up our project routes in this lecture.

3
Adding Navigation to the App

We got routes, but it would be nice to be able to (comfortably) reach them, too. This lecture explains how that works.

4
Marking Active Routes

Let's give the user some indication on which route currently is loaded.

5
Fixing Page Reload Issues

Right now, the page is sometimes reloading - let's fix this.

6
Child Routes: Challenge

Here's a little challenge for you: Implement the nested routes required in this project.

7
Adding Child Routing Together

Were you successful? Let's now add child routing together.

8
Configuring Route Parameters

We also want to pass some data through our routes - time to configure some parameters.

9
Passing Dynamic Parameters to Links

We got the parameters configured, let's now pass the data.

10
Styling Active Recipe Items

Time to indicate which recipe was selected.

11
Adding Editing Routes

We need more routes! Let's add routes to allow the creation of new recipes and the editing of existing ones.

12
Retrieving Route Parameters

Remember the route id? Let's fetch it now!

13
Programmatic Navigation to the Edit Page

Thus far, we only used routerLinks for navigation. Let's also navigate programmatically now.

14
One Note about Route Observables

Don't forget the thing about route observables!

15
Project Cleanup

Time to clean some things up in our project.

Understanding Observables

1
Module Introduction

Let me introduce to this module and why it's important!

2
Analyzing Angular Observables
3
Getting Closer to the Core of Observables
4
Building a Custom Observable
5
Errors & Completion
6
Observables & You!
7
Understanding Operators
8
Subjects
9
Wrap Up
10
Useful Resources & Links

Course Project - Observables

1
Improving the Reactive Service with Observables (Subjects)
2
Changed the Subscription Name

Handling Forms in Angular Apps

1
Module Introduction

Let me introduce you this course module.

2
Why do we Need Angular's Help?

Why do we actually need Angular when it comes to handling forms?

3
Template-Driven (TD) vs Reactive Approach

Angular offers two approaches of handling forms - we'll have a look at both here.

4
An Example Form

Let's get started by creating an example form.

5
TD: Creating the Form and Registering the Controls

Let's understand how the form is created and how we may register controls on it.

6
TD: Submitting and Using the Form

We got the form configured, time to allow the submission.

7
TD: Understanding Form State

Angular does so much more than just submitting the value. Let's dive into the form state.

8
TD: Accessing the Form with @ViewChild

We're not limited to accessing the form in the template. Learn how to pass it to the template in this lecture.

9
TD: Adding Validation to check User Input

An important part of configuring forms is adding validation. This lecture explores your options.

10
Built-in Validators & Using HTML5 Validation

Which validators may you use? This article helps!

11
TD: Using the Form State

Let's use the state of our form.

12
TD: Outputting Validation Error Messages

Let's also display some appropriate error messages to the user!

13
TD: Set Default Values with ngModel Property Binding

You can also adjust the values of your form - learn more about it in this lecture.

14
TD: Using ngModel with Two-Way-Binding

ngModel may also still be used with two-way-binding - learn more in this lecture.

15
TD: Grouping Form Controls

Bigger forms require structure - you can add this structure by grouping controls.

16
TD: Handling Radio Buttons

Are Radio Buttons difficult to handle? Not at all as this lecture shows.

17
TD: Setting and Patching Form Values

You can also adjust form values after it has been initialized - this lecture dives into the two alternatives you have.

18
TD: Using Form Data

We learned so much about forms - let's use the form data now.

19
TD: Resetting Forms

What if you want to reset a form? Well, you simply call reset().

20
Practicing Template-Driven Forms
21
Introduction to the Reactive Approach

Enough about the template-driven approach - let's dive into the reactive one now.

22
Reactive: Setup

Time to set up a template for the form.

23
Reactive: Creating a Form in Code

Let's create our form - in TS code since we use the reactive approach. It's going to be real easy.

24
Reactive: Syncing HTML and Form

We got the form, we got the HTML - let's sync it now!

25
Reactive: Submitting the Form

Everything's set - let's submit the form now.

26
Reactive: Adding Validation

Just like in the template-driven approach, you of course also may validate your forms. Learn how that works in this lecture.

27
Reactive: Getting Access to Controls

Want to get control of your controls? No problem at all!

28
Reactive: Grouping Controls

You may also group your controls as this lecture shows.

29
Fixing a Bug
30
Reactive: Arrays of Form Controls (FormArray)

Sometimes, you want to add controls to your form dynamically. Using an array of controls might be an interesting option then.

31
Reactive: Creating Custom Validators

What if you want to add some validation which isn't supported by the built-in validators? You simply add your own one.

32
Reactive: Using Error Codes

Let's use the error codes we got!

33
Reactive: Creating a Custom Async Validator

You're not limited to synchronous validators - let's build an asynchronous one in this lecture.

34
Reactive: Reacting to Status or Value Changes

Learn more about using the reactive features of your forms in this lecture (sidenote: not limited to the reactive form approach!)

35
Reactive: Setting and Patching Values

Want to set or patch form values? Of course you may do that here, too!

36
Practicing Reactive Forms
37
[OPTIONAL] Assignment Solution

Course Project - Forms

1
Introduction

Let me introduce you to this module.

2
TD: Adding the Shopping List Form

We want to handle the addition (and updating) of shopping list items with a template-driven form - let's add it.

3
Adding Validation to the Form

Time to add some validation!

4
Allowing the Selection of Items in the List

Would be nice if we could select items from the list - let's add such a feature!

5
Loading the Shopping List Items into the Form

We can select items, let's now add them into the form!

6
Updating existing Items

Loading items is nice, let's now allow the user to edit them.

7
Resetting the Form

We're done - let's reset the form!

8
Allowing the the User to Clear (Cancel) the Form

We know how to reset the form but what about clearing it? Let's add the respective functionality!

9
Allowing the Deletion of Shopping List Items

We can create, read and update items on the list - time to allow the deletion!

10
Creating the Template for the (Reactive) Recipe Edit Form

Editing and creating Recipes would also be a nice feature - let's add the respective (reactive) form to the app.

11
Creating the Form For Editing Recipes

We create the HTML code for our form, time to create the form itself in TypeScript.

12
Syncing HTML with the Form

We got the form - time to sync it with the HTML code.

13
Fixing a Bug
14
Adding Ingredient Controls to a Form Array
15
Adding new Ingredient Controls

With the FormArray added, let's add the functionality to add new controls.

16
Validating User Input

We don't want invalid recipes - time to add some validation.

17
Submitting the Recipe Edit Form

The user is able to edit the control values - let's now take care about the submission of the form.

18
Adding a Delete and Clear (Cancel) Functionality

Let's add functions to delete recipes or clear the form.

19
Redirecting the User (after Deleting a Recipe)

Once a user deleted a recipe, he still stays on the detail page. Time to change that and redirect the user.

20
Adding an Image Preview

Let's preview the image we're about to add.

21
Providing the Recipe Service Correctly

We already do provide the Recipe service but it behaves strangely. Time to change that.

22
Deleting Ingredients and Some Finishing Touches

Let's finish this part by allowing the user to delete Recipes and by fixing some other minor things.

23
Deleting all Items in a FormArray

Using Pipes to Transform Output

1
Introduction & Why Pipes are Useful

Let me introduce you to this module and to pipes.

2
Using Pipes

This module explains how to use pipes.

3
Parametrizing Pipes

Some pipes can be configured and this lecture teaches how that then works.

4
Where to learn more about Pipes

There are quite some built-in pipes (shipping with Angular). This lecture explains where to learn more about them.

5
Chaining Multiple Pipes

You're not limited to one pipe at a time - instead, you can chain them!

6
Creating a Custom Pipe

Didn't find the pipe you were looking for? Build your own one!

7
Parametrizing a Custom Pipe

Of course you may also configure your own pipe.

8
Example: Creating a Filter Pipe

Let's practice the creation of pipes by building a filter pipe.

9
Pure and Impure Pipes (or: How to "fix" the Filter Pipe)

The Filter Pipe is not working as expected - let's "fix" it.

10
Understanding the "async" Pipe

Let's have a look at a "special" built-in pipe: The "async" pipe.

11
Practicing Pipes

Making Http Requests

1
A New IDE
2
Module Introduction
3
How Does Angular Interact With Backends?
4
The Anatomy of a Http Request
5
Backend (Firebase) Setup
6
Sending a POST Request
7
GETting Data
8
Using RxJS Operators to Transform Response Data
9
Using Types with the HttpClient
10
Outputting Posts
11
Showing a Loading Indicator
12
Using a Service for Http Requests
13
Services & Components Working Together
14
Sending a DELETE Request
15
Handling Errors
16
Using Subjects for Error Handling
17
Using the catchError Operator
18
Error Handling & UX
19
Setting Headers
20
Adding Query Params
21
Observing Different Types of Responses
22
Changing the Response Body Type
23
Introducing Interceptors
24
Manipulating Request Objects
25
Response Interceptors
26
Multiple Interceptors
27
Wrap Up
28
Useful Resources & Links

Course Project - Http

1
Module Introduction
2
Backend (Firebase) Setup
3
Setting Up the DataStorage Service
4
Storing Recipes
5
Fetching Recipes
6
Transforming Response Data
7
Resolving Data Before Loading
8
Fixing a Bug with the Resolver

Authentication & Route Protection in Angular

1
Module Introduction
2
How Authentication Works
3
Adding the Auth Page
4
Switching Between Auth Modes
5
Handling Form Input
6
Preparing the Backend
7
Make sure you got Recipes in your backend!
8
Preparing the Signup Request
9
Sending the Signup Request
10
Adding a Loading Spinner & Error Handling Logic
11
Improving Error Handling
12
Sending Login Requests
13
Login Error Handling
14
Creating & Storing the User Data
15
Reflecting the Auth State in the UI
16
Adding the Token to Outgoing Requests
17
Attaching the Token with an Interceptor
18
Adding Logout
19
Adding Auto-Login
20
Adding Auto-Logout
21
Adding an Auth Guard
22
Wrap Up
23
Useful Resources & Links

Dynamic Components

1
Module Introduction
2
Adding an Alert Modal Component
3
Understanding the Different Approaches
4
Using ngIf
5
Preparing Programmatic Creation
6
Creating a Component Programmatically
7
Understanding entryComponents
8
Data Binding & Event Binding
9
Wrap Up
10
Useful Resources & Links

Angular Modules & Optimizing Angular Apps

1
Module Introduction
2
What are Modules?
3
Analyzing the AppModule
4
Getting Started with Feature Modules
5
Splitting Modules Correctly
6
Adding Routes to Feature Modules
7
Component Declarations
8
The ShoppingList Feature Module
9
Understanding Shared Modules
10
Understanding the Core Module
11
Adding an Auth Feature Module
12
Understanding Lazy Loading
13
Implementing Lazy Loading
14
More Lazy Loading
15
Preloading Lazy-Loaded Code
16
Modules & Services
17
Loading Services Differently
18
Ahead-of-Time Compilation
19
Wrap Up
20
Useful Resources & Links

Deploying an Angular App

1
Module Introduction
2
Deployment Preparation & Steps
3
Using Environment Variables
4
Deployment Example: Firebase Hosting
5
Server Routing vs Browser Routing

Bonus: Working with NgRx in our Project

1
Module Introduction
2
What is Application State?
3
What is NgRx?
4
Getting Started with Reducers
5
Adding Logic to the Reducer
6
Understanding & Adding Actions
7
Setting Up the NgRx Store
8
Selecting State
9
Dispatching Actions
10
Multiple Actions
11
Preparing Update & Delete Actions
12
Updating & Deleting Ingredients
13
Expanding the State
14
Managing More State via NgRx
15
Removing Redundant Component State Management
16
First Summary & Clean Up
17
One Root State
18
Setting Up Auth Reducer & Actions
19
Dispatching Auth Actions
20
Auth Finished (For Now...)
21
And Important Note on Actions
22
Exploring NgRx Effects
23
Defining the First Effect
24
Effects & Error Handling
25
Login via NgRx Effects
26
Managing UI State in NgRx
27
Finishing the Login Effect
28
Preparing Other Auth Actions
29
Adding Signup
30
Further Auth Effects
31
Adding Auto-Login with NgRx
32
Adding Auto-Logout
33
Finishing the Auth Effects
34
Using the Store Devtools
35
The Router Store
36
Getting Started with NgRx for Recipes
37
Fetching Recipe Detail Data
38
Fetching Recipes & Using the Resolver
39
Fixing the Auth Redirect
40
Update, Delete and Add Recipes
41
Storing Recipes via Effects
42
Cleanup Work
43
Wrap Up
44
Alternative NgRx Syntax
45
Useful Resources & Links

Bonus: Angular Universal

1
Module Introduction
2
Angular Universal & ModuleMapLoader
3
Adding Angular Universal
4
Adding Angular Universal with NestJS
5
Deploying Universal Apps
6
Important: Remaining Lectures
7
Module Introduction
8
Getting Started with Angular Universal
9
Working on the App Module
10
Adding a Server-Side Build Workflow
11
Adding a NodeJS Server
12
Pre-Rendering the App on the Server
13
Next Steps
14
Angular Universal Gotchas

Angular Animations

1
Making Animations Work with Angular 4+

Have a look at this lecture to learn how to make animations work with the latest version of Angular!

2
Introduction

Let me introduce you to this course module.

3
Setting up the Starting Project

To be able to animate anything, we need to have a project with which we may start. So let's take care about that in this lecture.

4
Animations Triggers and State

Key Concepts of Angular 2 Animations are "Triggers" and "State". Let's explore both concepts in this lecture.

5
Switching between States

So we got "States" but how do we use them? Well for a start, we can switch between them, so let's do that in this lecture.

6
Transitions

Would be nice to be able to transition between two states, wouldn't it? This is what this lecture is about.

7
Advanced Transitions

We learned the basics about transitions, now let's ramp it up and see what else we can do with them.

8
Transition Phases

And more on Transitions! Let's have a closer look at the different phases Transitions may have.

9
The "void" State

If our goal is to animate the appearance of an element which wasn't attached to the DOM before, we need some help to be able to find a fitting initial state. Turns out, Angular 2 has us covered.

10
Using Keyframes for Animations

Sometimes you need the highest degree of control you can get - Keyframes can help you with that!

11
Grouping Transitions

What if you want to play multiple Transitions simultaneously? Transition Groups to the rescue!

12
Using Animation Callbacks

We know a lot about Animations, but what if you want to execute code right after an Animation finished? We got Callbacks for that! Learn more about them in this video!

Adding Offline Capabilities with Service Workers

1
Module Introduction
2
Adding Service Workers
3
Caching Assets for Offline Use
4
Caching Dynamic Assets & URLs
5
Further Links & Resources

A Basic Introduction to Unit Testing in Angular Apps

1
About this Section
2
Introduction

Let me introduce you to this module about Unit Testing.

3
Why Unit Tests?

Why might you want to use Unit Tests - this lecture takes a closer look!

4
Analyzing the Testing Setup (as created by the CLI)

Let's analyze how an Angular 2 Unit Testing Setup looks like.

5
Running Tests (with the CLI)

We analyzed our setup - let's now try it out and run some tests!

6
Adding a Component and some fitting Tests

Let's write our own tests and practice this when adding a new Component.

7
Testing Dependencies: Components and Services

Often times you don't want to test a Unit standalone - instead you also want to test a dependency. Let's take a closer look!

8
Simulating Async Tasks

What if you have an asynchronous task? Normally you don't want to execute it and still test it. That's possible as this lecture explains.

9
Using "fakeAsync" and "tick"

Regarding async tests, Angular 2 also has an additional Tool in its pocket - let's learn more about.

10
Isolated vs Non-Isolated Tests

Some Tests can be run totally isolated from Angular 2. Others can't. Let's see when each of the two cases might be relevant.

11
Further Resources & Where to Go Next

Angular as a Platform & Closer Look at the CLI

1
Module Introduction
2
A Closer Look at "ng new"
3
IDE & Project Setup
4
Understanding the Config Files
5
Important CLI Commands
6
The "angular.json" File - A Closer Look
7
Angular Schematics - An Introduction
8
The "ng add" Command
9
Using Custom "ng generate" Schematics
10
Smooth Updating of Projects with "ng update"
11
Simplified Deployment with "ng deploy"
12
Understanding "Differential Loading"
13
Managing Multiple Projects in One Folder
14
Angular Libraries - An Introduction
15
Wrap Up

Angular Changes & New Features

1
A First Look At Angular Elements

Angular Elements is an exciting new feature introduced with Angular 6. Time for a first look!

Course Roundup

1
Course Roundup

Wow, we achieved a lot in this Course! Let me give you a brief round-up :)

2
Bonus: More Content!

Bonus: TypeScript Introduction (for Angular 2 Usage)

1
Module Introduction
2
What & Why?
3
Installing & Using TypeScript
4
Base Types & Primitives
5
Array & Object Types
6
Type Inference
7
Working with Union Types
8
Assigning Type Aliases
9
Diving into Functions & Function Types
10
Understanding Generics
11
Classes & TypeScript
12
Working with Interfaces
13
Configuring the TypeScript Compiler
14
Module Resources
Vous pouvez afficher et revoir les supports de cours indu00e9finiment, comme une chau00eene u00e0 la demande.
Absolumentu00a0! Si vous disposez d'une connexion Internet, les cours sur WeCours sont disponibles u00e0 tout moment sur n'importe quel appareil. Si vous n'avez pas de connexion Internet, certains instructeurs permettent u00e9galement u00e0 leurs u00e9tudiants de tu00e9lu00e9charger les cours. instructeur cependant, alors assurez-vous d'u00eatre de leur bon cu00f4tu00e9u00a0!
4.6
4.6 sur 5
Notes149376

Détails des Notes

Étoiles 5
86358
Étoiles 4
43716
Étoiles 3
8813
Étoiles 2
1242
Étoiles 1
698
Garantie de remboursement de 30 jours

Inclut

34 heures de vidéo à la demande
Accès complet à vie
Accès sur le mobile et la télévision
Certificat d'achèvement

Archive

Working hours

Monday 9:30 am - 6.00 pm
Tuesday 9:30 am - 6.00 pm
Wednesday 9:30 am - 6.00 pm
Thursday 9:30 am - 6.00 pm
Friday 9:30 am - 5.00 pm
Saturday Closed
Sunday Closed