Mô tả

Join the most comprehensive and bestselling Angular course on Udemy and learn all about this amazing framework from the ground up, in great depth!

This course starts from scratch, you neither need to know Angular 1 nor Angular 2!

From Setup to Deployment, this course covers it all! You'll learn all about Components, Directives, Services, Forms, Http Access, Authentication, Optimizing an Angular App with Modules and Offline Compilation and much more - and in the end: You'll learn how to deploy an application!

But that's not all! This course will also show you how to use the Angular CLI and feature a complete project, which allows you to practice the things learned throughout the course!

And if you do get stuck, you benefit from an extremely fast and friendly support - both via direct messaging or discussion. You have my word! ;-)

Angular is one of the most modern, performance-efficient and powerful frontend frameworks you can learn as of today. It allows you to build great web apps which offer awesome user experiences! Learn all the fundamentals you need to know to get started developing Angular applications right away.

Hear what my students have to say

Absolutely fantastic tutorial series. I cannot thank you enough. The quality is first class and your presentational skills are second to none. Keep up this excellent work. You really rock! - Paul Whitehouse

The instructor, Max, is very enthusiastic and engaging. He does a great job of explaining what he's doing and why rather than having students just mimic his coding. Max was also very responsive to questions. I would recommend this course and any others that he offers. Thanks, Max!

As a person new to both JavaScript and Angular 2 I found this course extremely helpful because Max does a great job of explaining all the important concepts behind the code. Max has a great teaching ability to focus on what his audience needs to understand.

This Course uses TypeScript

TypeScript is the main language used by the official Angular team and the language you'll mostly see in Angular tutorials. It's a superset to JavaScript and makes writing Angular apps really easy. Using it ensures, that you will have the best possible preparation for creating Angular apps. Check out the free videos for more information.

TypeScript knowledge is, however, not required - basic JavaScript knowledge is enough.

Why Angular?

Angular is the next big deal. Being the successor of the overwhelmingly successful Angular.js framework it’s bound to shape the future of frontend development in a similar way. The powerful features and capabilities of Angular allow you to create complex, customizable, modern, responsive and user friendly web applications.

Angular is faster than Angular 1 and offers a much more flexible and modular development approach. After taking this course you’ll be able to fully take advantage of all those features and start developing awesome applications immediately.

Due to the drastic differences between Angular 1 and Angular (= Angular 2+) you don’t need to know anything about Angular.js to be able to benefit from this course and build your futures projects with Angular.

Get a very deep understanding of how to create Angular applications

This course will teach you all the fundamentals about modules, directives, components, databinding, routing, HTTP access and much more! We will take a lot of deep dives and each section is backed up with a real project. All examples showcase the features Angular offers and how to apply them correctly.

Specifically you will learn:

  • Which architecture Angular uses

  • How to use TypeScript to write Angular applications

  • All about directives and components, including the creation of custom directives/ components

  • How databinding works

  • All about routing and handling navigation

  • What pipes are and how to use them

  • How to send HTTP requests (e.g. to REST APIs)

  • What dependency injection is and how to use it

  • How to use modules in Angular

  • How to optimize your (bigger) Angular applications

  • An introduction to NgRx and complex state management

  • We will build a major project in this course so that you can practice all concepts

  • And so much more!

Pay once, benefit a lifetime!

Don’t lose any time, gain an edge and start developing now!

Bạn sẽ học được gì

Develop modern, complex, responsive and scalable web applications with Angular

Fully understand the architecture behind an Angular application and how to use it

Use the gained, deep understanding of the Angular fundamentals to quickly establish yourself as a frontend developer

Create single-page applications with one of the most modern JavaScript frameworks out there

Yêu cầu

  • NO Angular 1 or Angular 2+ knowledge is required!
  • Basic HTML and CSS knowledge helps, but isn't a must-have
  • Prior TypeScript knowledge also helps but isn't necessary to benefit from this course
  • Basic JavaScript knowledge is required

Nội dung khoá học

38 sections

Getting Started

8 lectures
Welcome To The Course!
01:31
What Exactly Is Angular?
01:49
Why Would You Use Angular?
06:41
Angular's Evolution & Stability
04:43
Creating A New Angular Project
07:02
Setting Up An Angular Development Environment
04:48
About This Course
03:18
Course Resources & Using The Course Efficiently
01:05

Angular Essentials - Components, Templates, Services & More

55 lectures
Module Introduction
01:19
A New Starting Project & Analyzing The Project Structure
06:27
Understanding Components & How Content Ends Up On The Screen
06:17
Creating a First Custom Component
05:14
[Optional] JavaScript Refresher: Classes, Properties & More
01:20
Configuring the Custom Component
05:20
Using the Custom Component
06:08
Styling the Header Component & Adding An Image
06:20
Managing & Creating Components with the Angular CLI
04:28
Styling & Using Our Next Custom Component
05:08
Preparing User Data (To Output Dynamic Content)
02:07
Storing Data in a Component Class
03:54
Outputting Dynamic Content with String Interpolation
02:30
Property Binding & Outputting Computed Values
04:37
Attribute Binding
01:05
Using Getters For Computed Values
03:29
Listening to Events with Event Binding
04:04
Managing State & Changing Data
03:06
A Look Behind The Scenes Of Angular's Change Detection Mechanism
02:06
Introducing Signals
12:52
We Need More Flexible Components!
03:40
Defining Component Inputs
08:17
Required & Optional Inputs
02:56
Using Signal Inputs
13:59
We Need Custom Events!
01:47
Working with Outputs & Emitting Data
06:58
Using the output() Function
06:12
Adding Extra Type Information To EventEmitter
01:57
Exercise: Create a Configurable Component
08:47
TypeScript: Working With Potentially Undefined Values & Union Types
08:06
Accepting Objects As Inputs & Adding Appropriate Typings
04:46
TypeScript: Type Aliases & Interfaces
03:10
Outputting List Content
05:33
Outputting Conditional Content
04:26
Legacy Angular: Using ngFor & ngIf
05:21
Adding More Components to the Demo App
06:14
Outputting User-specific Tasks
06:30
Outputting Task Data in the Task Component
04:04
Storing Data Models in Separate Files
03:44
Dynamic CSS Styling with Class Bindings
04:36
More Component Communication: Deleting Tasks
05:25
Creating & Conditionally Rendering Another Component
05:24
Managing The "New Task" Dialog
06:30
Using Directives & Two-Way-Binding
10:46
Signals & Two-Way-Binding
02:19
Handling Form Submission
03:20
Using the Submitted Data
07:20
Content Projection with ng-content
06:47
Transforming Template Data with Pipes
03:16
Getting Started with Services
06:15
Getting Started with Dependency Injection
08:02
More Service Usage & Alternative Dependency Injection Mechanism
05:17
Time to Practice: Services
03:16
Using localStorage for Data Storage
05:40
Module Summary
08:45

Angular Essentials - Working with Modules

9 lectures
Module Introduction
02:16
A First Introduction To Angular Modules (NgModule)
03:05
Creating a First Empty Module
02:55
Bootstrapping Apps with Angular Modules
05:21
Declaring & Using Components
04:45
A First Summary
02:14
Migrating All Components To Use Modules
06:50
Creating & Using Shared Modules
04:12
Creating More Complex Module-based App Structures
07:22

Angular Essentials - Time To Practice

17 lectures
Module Introduction & Starting Project
05:19
Exercise Hints
01:27
Adding a Header Component With An Image
05:10
Adding a User Input Component
06:42
Handling Form Submission
02:29
Extracting Values with Two-Way-Binding
08:10
Calculating the Annual Investment Data
05:04
Cross-Component Communication with Outputs
09:25
Creating & Using a Data Model
02:58
Passing Data from Parent to Child with Inputs
10:09
Outputting Data in a Table
04:57
Formatting Output with a Pipe
01:39
Using Signals & Resetting The Form After Submission
09:55
Using a Service for Cross-Component Communication
09:35
Using Signals in Services
04:11
Migrating to Angular Modules
08:08
Module Summary
01:13

Debugging Angular Apps

5 lectures
Module Introduction
01:41
Understanding Error Messages & Fixing Errors
03:46
Debugging Logical Errors with the Browser DevTools & Breakpoints
06:19
Exploring the Angular DevTools
03:50
What Next?
00:53

The Basics

37 lectures
About This Section
00:30
Module Introduction
00:56
How an Angular App gets Loaded and Started
07:11
Components are Important!
03:08
Creating a New Component
06:51
Understanding the Role of AppModule and Component Declaration
05:15
Working with Standalone Components
01:11
Using Custom Components
01:12
Creating Components with the CLI & Nesting Components
03:51
Working with Component Templates
03:08
Working with Component Styles
04:02
Fully Understanding the Component Selector
03:50
Practicing Components
1 question
[OPTIONAL] Assignment Solution
06:42
What is Databinding?
02:49
String Interpolation
05:19
Property Binding
06:34
Property Binding vs String Interpolation
03:07
Event Binding
04:09
Bindable Properties and Events
00:21
Passing and Using Data with Event Binding
04:37
Important: FormsModule is Required for Two-Way-Binding!
00:12
Two-Way-Databinding
02:47
Combining all Forms of Databinding
01:46
Practicing Databinding
1 question
[OPTIONAL] Assignment Solution
05:12
Understanding Directives
02:17
Using ngIf to Output Data Conditionally
03:53
Enhancing ngIf with an Else Condition
02:46
Angular 17: Alternative "if" Syntax
00:36
Styling Elements Dynamically with ngStyle
05:01
Applying CSS Classes Dynamically with ngClass
02:53
Outputting Lists with ngFor
03:43
Angular 17: Alternative "for" Syntax
00:42
Practicing Directives
1 question
[OPTIONAL] Assignment Solution
07:06
Getting the Index when using ngFor
02:52

Course Project - The Basics

18 lectures
About This Section
00:40
Project Introduction
01:04
Planning the App
05:33
Creating a New App Correctly
00:46
Setting up the Application
04:31
Creating the Components
09:32
Using the Components
03:15
Adding a Navigation Bar
05:09
Alternative Non-Collapsable Navigation Bar
00:27
Creating a "Recipe" Model
04:33
Adding Content to the Recipes Components
07:41
Outputting a List of Recipes with ngFor
04:37
Displaying Recipe Details
05:52
Working on the ShoppingListComponent
01:49
Creating an "Ingredient" Model
02:35
Creating and Outputting the Shopping List
02:27
Adding a Shopping List Edit Section
03:28
Wrap Up & Next Steps
00:54

Debugging

2 lectures
Understanding Angular Error Messages
04:36
Debugging Code in the Browser Using Sourcemaps
05:32

Components & Databinding Deep Dive

22 lectures
Module Introduction
00:36
Splitting Apps into Components
05:56
Property & Event Binding Overview
01:44
Binding to Custom Properties
05:43
Assigning an Alias to Custom Properties
01:59
Binding to Custom Events
09:05
Assigning an Alias to Custom Events
00:57
Custom Property and Event Binding Summary
02:02
Understanding View Encapsulation
04:59
More on View Encapsulation
02:43
Using Local References in Templates
04:36
@ViewChild() in Angular 8+
00:24
Getting Access to the Template & DOM with @ViewChild
05:02
Projecting Content into Components with ng-content
03:22
Understanding the Component Lifecycle
04:54
Seeing Lifecycle Hooks in Action
11:55
Lifecycle Hooks and Template Access
02:33
@ContentChild() in Angular 8+
00:02
Getting Access to ng-content with @ContentChild
03:00
Wrap Up
00:49
Practicing Property & Event Binding and View Encapsulation
1 question
[OPTIONAL] Assignment Solution
12:21

Course Project - Components & Databinding

6 lectures
Introduction
00:50
Adding Navigation with Event Binding and ngIf
07:31
Passing Recipe Data with Property Binding
04:43
Passing Data with Event and Property Binding (Combined)
10:31
Make sure you have FormsModule added!
00:09
Allowing the User to Add Ingredients to the Shopping List
07:22

Directives Deep Dive

12 lectures
Module Introduction
01:23
ngFor and ngIf Recap
03:36
ngClass and ngStyle Recap
02:57
Creating a Basic Attribute Directive
06:42
Using the Renderer to build a Better Attribute Directive
07:04
More about the Renderer
00:13
Using HostListener to Listen to Host Events
03:00
Using HostBinding to Bind to Host Properties
03:17
Binding to Directive Properties
06:43
What Happens behind the Scenes on Structural Directives
03:04
Building a Structural Directive
06:13
Understanding ngSwitch
02:49

Course Project - Directives

2 lectures
Building and Using a Dropdown Directive
06:25
Closing the Dropdown From Anywhere
00:18

Using Services & Dependency Injection

13 lectures
Module Introduction
01:39
Why would you Need Services?
02:04
Creating a Logging Service
03:32
Injecting the Logging Service into Components
06:21
Alternative Injection Syntax
00:34
Creating a Data Service
06:41
Understanding the Hierarchical Injector
02:40
How many Instances of Service Should It Be?
02:12
Injecting Services into Services
05:13
Using Services for Cross-Component Communication
04:06
A Different Way Of Injecting Services
00:31
Practicing Services
1 question
[OPTIONAL] Assignment Solution
09:37

Course Project - Services & Dependency Injection

8 lectures
Introduction
01:23
Setting up the Services
01:15
Managing Recipes in a Recipe Service
04:07
Using a Service for Cross-Component Communication
05:07
Adding the Shopping List Service
05:04
Using Services for Pushing Data from A to B
03:08
Adding Ingredients to Recipes
03:41
Passing Ingredients from Recipes to the Shopping List (via a Service)
07:03

Changing Pages with Routing

31 lectures
Module Introduction
01:26
Why do we need a Router?
01:16
Understanding the Example Project
00:10
Setting up and Loading Routes
08:01
Navigating with Router Links
05:18
Understanding Navigation Paths
04:54
Styling Active Router Links
05:01
Navigating Programmatically
03:28
Using Relative Paths in Programmatic Navigation
05:09
Passing Parameters to Routes
03:10
Fetching Route Parameters
04:01
Fetching Route Parameters Reactively
07:25
An Important Note about Route Observables
02:42
Passing Query Parameters and Fragments
05:53
Retrieving Query Parameters and Fragments
03:15
Practicing and some Common Gotchas
06:07
Setting up Child (Nested) Routes
04:28
Using Query Parameters - Practice
05:36
Configuring the Handling of Query Parameters
01:50
Redirecting and Wildcard Routes
04:36
Important: Redirection Path Matching
00:37
Outsourcing the Route Configuration
04:40
An Introduction to Guards
01:45
Protecting Routes with canActivate
08:55
Protecting Child (Nested) Routes with canActivateChild
02:51
Using a Fake Auth Service
01:43
Controlling Navigation with canDeactivate
12:28
Passing Static Data to a Route
05:56
Resolving Dynamic Data with the resolve Guard
09:53
Understanding Location Strategies
04:43
Wrap Up
00:51

Course Project - Routing

15 lectures
Planning the General Structure
01:36
Setting Up Routes
07:58
Adding Navigation to the App
01:41
Marking Active Routes
01:31
Fixing Page Reload Issues
02:51
Child Routes: Challenge
01:54
Adding Child Routing Together
04:21
Configuring Route Parameters
06:22
Passing Dynamic Parameters to Links
03:01
Styling Active Recipe Items
01:14
Adding Editing Routes
03:44
Retrieving Route Parameters
03:19
Programmatic Navigation to the Edit Page
04:46
One Note about Route Observables
00:52
Project Cleanup
00:20

Understanding Observables

11 lectures
Module Introduction
04:25
Install RxJS
00:07
Analyzing Angular Observables
02:15
Getting Closer to the Core of Observables
06:50
Building a Custom Observable
04:46
Errors & Completion
06:39
Observables & You!
01:55
Understanding Operators
08:39
Subjects
08:17
Wrap Up
01:15
Useful Resources & Links
00:02

Course Project - Observables

2 lectures
Improving the Reactive Service with Observables (Subjects)
06:04
Changed the Subscription Name
00:07

Handling Forms in Angular Apps

37 lectures
Module Introduction
01:19
Why do we Need Angular's Help?
02:21
Template-Driven (TD) vs Reactive Approach
01:16
An Example Form
01:32
TD: Creating the Form and Registering the Controls
05:42
TD: Submitting and Using the Form
06:15
TD: Understanding Form State
02:29
TD: Accessing the Form with @ViewChild
03:03
TD: Adding Validation to check User Input
04:14
Built-in Validators & Using HTML5 Validation
00:25
TD: Using the Form State
04:27
TD: Outputting Validation Error Messages
02:23
TD: Set Default Values with ngModel Property Binding
02:15
TD: Using ngModel with Two-Way-Binding
02:48
TD: Grouping Form Controls
03:30
TD: Handling Radio Buttons
03:27
TD: Setting and Patching Form Values
04:42
TD: Using Form Data
04:44
TD: Resetting Forms
01:48
Practicing Template-Driven Forms
1 question
Introduction to the Reactive Approach
00:40
Reactive: Setup
02:26
Reactive: Creating a Form in Code
04:07
Reactive: Syncing HTML and Form
03:58
Reactive: Submitting the Form
02:15
Reactive: Adding Validation
02:50
Reactive: Getting Access to Controls
03:47
Reactive: Grouping Controls
03:46
Fixing a Bug
00:29
Reactive: Arrays of Form Controls (FormArray)
07:31
Reactive: Creating Custom Validators
06:11
Reactive: Using Error Codes
03:20
Reactive: Creating a Custom Async Validator
04:38
Reactive: Reacting to Status or Value Changes
02:11
Reactive: Setting and Patching Values
02:09
Practicing Reactive Forms
1 question
[OPTIONAL] Assignment Solution
13:48

Course Project - Forms

23 lectures
Introduction
00:59
TD: Adding the Shopping List Form
03:42
Adding Validation to the Form
02:21
Allowing the Selection of Items in the List
04:24
Loading the Shopping List Items into the Form
03:02
Updating existing Items
03:15
Resetting the Form
02:34
Allowing the the User to Clear (Cancel) the Form
01:16
Allowing the Deletion of Shopping List Items
02:52
Creating the Template for the (Reactive) Recipe Edit Form
04:59
Creating the Form For Editing Recipes
05:06
Syncing HTML with the Form
03:52
Fixing a Bug
00:22
Adding Ingredient Controls to a Form Array
05:39
Adding new Ingredient Controls
03:38
Validating User Input
05:10
Submitting the Recipe Edit Form
07:30
Adding a Delete and Clear (Cancel) Functionality
04:47
Redirecting the User (after Deleting a Recipe)
01:47
Adding an Image Preview
01:48
Providing the Recipe Service Correctly
01:58
Deleting Ingredients and Some Finishing Touches
03:34
Deleting all Items in a FormArray
00:10

Using Pipes to Transform Output

11 lectures
Introduction & Why Pipes are Useful
02:01
Using Pipes
03:28
Parametrizing Pipes
02:10
Where to learn more about Pipes
01:56
Chaining Multiple Pipes
02:20
Creating a Custom Pipe
06:42
Parametrizing a Custom Pipe
02:36
Example: Creating a Filter Pipe
07:01
Pure and Impure Pipes (or: How to "fix" the Filter Pipe)
04:46
Understanding the "async" Pipe
04:03
Practicing Pipes
1 question

Making Http Requests

28 lectures
A New IDE
00:43
Module Introduction
01:06
How Does Angular Interact With Backends?
03:09
The Anatomy of a Http Request
02:27
Backend (Firebase) Setup
02:34
Sending a POST Request
10:11
GETting Data
02:56
Using RxJS Operators to Transform Response Data
03:59
Using Types with the HttpClient
05:07
Outputting Posts
02:15
Showing a Loading Indicator
02:03
Using a Service for Http Requests
06:37
Services & Components Working Together
03:28
Sending a DELETE Request
03:27
Handling Errors
06:38
Using Subjects for Error Handling
02:39
Using the catchError Operator
02:13
Error Handling & UX
02:07
Setting Headers
03:18
Adding Query Params
04:01
Observing Different Types of Responses
07:32
Changing the Response Body Type
03:16
Introducing Interceptors
07:24
Manipulating Request Objects
02:32
Response Interceptors
02:46
Multiple Interceptors
04:52
Wrap Up
01:57
Useful Resources & Links
00:01

Course Project - Http

8 lectures
Module Introduction
00:55
Backend (Firebase) Setup
02:03
Setting Up the DataStorage Service
05:32
Storing Recipes
06:39
Fetching Recipes
05:38
Transforming Response Data
04:17
Resolving Data Before Loading
07:31
Fixing a Bug with the Resolver
01:43

Authentication & Route Protection in Angular

23 lectures
Module Introduction
00:52
How Authentication Works
05:01
Adding the Auth Page
06:44
Switching Between Auth Modes
04:02
Handling Form Input
03:44
Preparing the Backend
03:14
Make sure you got Recipes in your backend!
00:13
Preparing the Signup Request
08:24
Sending the Signup Request
04:36
Adding a Loading Spinner & Error Handling Logic
06:34
Improving Error Handling
05:39
Sending Login Requests
06:00
Login Error Handling
04:28
Creating & Storing the User Data
10:16
Reflecting the Auth State in the UI
09:41
Adding the Token to Outgoing Requests
10:15
Attaching the Token with an Interceptor
08:48
Adding Logout
03:18
Adding Auto-Login
09:54
Adding Auto-Logout
07:39
Adding an Auth Guard
10:56
Wrap Up
01:55
Useful Resources & Links
00:02

Dynamic Components

11 lectures
Module Introduction
01:09
Adding an Alert Modal Component
07:33
Understanding the Different Approaches
02:28
Using ngIf
03:05
Preparing Programmatic Creation
08:27
Creating a Component Programmatically
04:46
About entryComponents
00:13
Understanding entryComponents
05:06
Data Binding & Event Binding
05:05
Wrap Up
01:25
Useful Resources & Links
00:01

Angular Modules & Optimizing Angular Apps

18 lectures
Module Introduction
00:41
What are Modules?
02:26
Analyzing the AppModule
06:24
Getting Started with Feature Modules
08:59
Splitting Modules Correctly
04:09
Adding Routes to Feature Modules
04:34
Component Declarations
01:58
The ShoppingList Feature Module
04:27
Understanding Shared Modules
08:10
Understanding the Core Module
05:48
Adding an Auth Feature Module
04:22
Understanding Lazy Loading
02:52
Implementing Lazy Loading
12:20
More Lazy Loading
03:02
Preloading Lazy-Loaded Code
03:39
Modules & Services
05:46
Loading Services Differently
08:24
Useful Resources & Links
00:01

Deploying an Angular App

6 lectures
Module Introduction
00:52
Deployment Preparation & Steps
03:18
Using Environment Variables
04:44
Deploying Angular Applications
00:14
Deployment Example: Firebase Hosting
09:01
Server Routing vs Browser Routing
00:07

Standalone Components

11 lectures
Module Introduction
01:27
Starting Setup & Why We Want Standalone Components
04:48
Building a First Standalone Component
09:49
Standalone Components Are Now Stable
00:34
Standalone Directives & Connecting Building Blocks
02:19
Migrating Another Component
01:49
A Standalone Root Component
04:20
Services & Standalone Components
03:59
Routing with Standalone Components
06:36
Lazy Loading
08:04
Summary
01:56

Angular Signals

10 lectures
Module Introduction
01:08
Signals: What & Why?
05:40
Creating a New Signal
03:23
Updating a Signal Value
02:34
Reading & Outputting a Signal Value
02:11
Signal Updating: set(), update() & mutate()
06:12
Important: Signals are NOT Finished Yet!
01:02
Signals: What's To Come?
00:45
Computed Values & Effects
03:48
Module Summary
00:55

Bonus: Using NgRx For State Management

66 lectures
Module Introduction
00:57
What Is NgRx?
02:08
Understanding NgRx & Its Building Blocks
03:58
Project Setup & Installing NgRx
05:12
Adding a First Reducer & Store Setup
08:35
An Alternative Way Of Creating Reducers
04:19
Reading Data From The Store
09:36
Introducing Actions & State Changing Reducers
07:48
Dispatching Actions
03:41
Attaching Data To Actions
04:20
Handling Actions Without createReducer
06:01
An Alternative Way Of Defining Actions
10:02
Time To Practice: A Second Action
05:28
Exploring Selectors
08:17
Introducing Effects
02:39
Installing the Effects Package
02:03
Defining a First Effect
08:40
The Old @Effect Decorator & Registering Effects
03:43
Using Store Data In Effects
03:24
Adding a Second Effect
09:58
Summary
03:01
About The Remaining Section
00:52
Recipe Project Starting Code
00:12
Getting Started with Reducers
06:44
Adding Logic to the Reducer
05:47
Understanding & Adding Actions
06:16
Setting Up the NgRx Store
04:48
Selecting State
08:51
Dispatching Actions
07:09
Multiple Actions
09:37
Preparing Update & Delete Actions
03:08
Updating & Deleting Ingredients
10:59
Expanding the State
09:17
Managing More State via NgRx
09:52
Removing Redundant Component State Management
03:32
First Summary & Clean Up
05:25
One Root State
11:39
Setting Up Auth Reducer & Actions
08:25
Dispatching Auth Actions
05:53
Auth Finished (For Now...)
06:43
And Important Note on Actions
06:24
Exploring NgRx Effects
03:38
Defining the First Effect
05:19
Important: Avoid @Effect
00:18
Effects & Error Handling
08:57
Login via NgRx Effects
09:08
Managing UI State in NgRx
07:30
Finishing the Login Effect
07:11
Preparing Other Auth Actions
04:09
Adding Signup
06:17
Further Auth Effects
06:13
Adding Auto-Login with NgRx
08:16
Adding Auto-Logout
06:31
Finishing the Auth Effects
02:29
Using the Store Devtools
06:20
The Router Store
02:11
Getting Started with NgRx for Recipes
11:03
Fetching Recipe Detail Data
09:14
Fetching Recipes & Using the Resolver
12:00
Fixing the Auth Redirect
02:10
Update, Delete and Add Recipes
15:11
Storing Recipes via Effects
05:52
Cleanup Work
01:58
Wrap Up
02:12
Alternative NgRx Syntax
00:49
Useful Resources & Links
00:01

Bonus: Angular Universal

9 lectures
Module Introduction
00:33
Angular Universal - What & Why?
07:49
Angular Universal & Angular 17
00:57
Converting the App to a Universal App
03:12
Analyzing & Running Server-side Code
05:22
A Closer Look At The Server-side Code
04:10
Integrating a REST API
03:06
Some Notes About Deploying Angular Universal Apps
04:30
Angular Universal Gotchas
00:31

Angular Animations

12 lectures
Making Animations Work with Angular 4+
00:25
Introduction
01:03
Setting up the Starting Project
00:52
Animations Triggers and State
07:11
Switching between States
02:04
Transitions
01:54
Advanced Transitions
05:22
Transition Phases
03:57
The "void" State
06:11
Using Keyframes for Animations
05:32
Grouping Transitions
02:11
Using Animation Callbacks
02:38

Adding Offline Capabilities with Service Workers

5 lectures
Module Introduction
02:09
Adding Service Workers
12:41
Caching Assets for Offline Use
05:28
Caching Dynamic Assets & URLs
07:02
Further Links & Resources
00:02

A Basic Introduction to Unit Testing in Angular Apps

11 lectures
About this Section
00:11
Introduction
01:18
Why Unit Tests?
02:12
Analyzing the Testing Setup (as created by the CLI)
08:01
Running Tests (with the CLI)
01:59
Adding a Component and some fitting Tests
06:14
Testing Dependencies: Components and Services
06:55
Simulating Async Tasks
09:41
Using "fakeAsync" and "tick"
02:14
Isolated vs Non-Isolated Tests
06:10
Further Resources & Where to Go Next
00:19

Angular as a Platform & Closer Look at the CLI

15 lectures
Module Introduction
01:44
A Closer Look at "ng new"
05:18
IDE & Project Setup
02:31
Understanding the Config Files
09:01
Important CLI Commands
05:25
The "angular.json" File - A Closer Look
11:18
Angular Schematics - An Introduction
01:41
The "ng add" Command
04:31
Using Custom "ng generate" Schematics
03:05
Smooth Updating of Projects with "ng update"
02:13
Simplified Deployment with "ng deploy"
05:46
Understanding "Differential Loading"
05:10
Managing Multiple Projects in One Folder
04:35
Angular Libraries - An Introduction
02:51
Wrap Up
01:27

Angular Changes & New Features

1 lectures
A First Look At Angular Elements
15:34

Course Roundup

2 lectures
Thanks for being part of the course!
00:55
Bonus: More Content!
00:20

Bonus: TypeScript Introduction (for Angular 2 Usage)

14 lectures
Module Introduction
01:15
What & Why?
06:32
Installing & Using TypeScript
06:22
Base Types & Primitives
03:55
Array & Object Types
05:33
Type Inference
02:47
Working with Union Types
02:48
Assigning Type Aliases
02:42
Diving into Functions & Function Types
05:12
Understanding Generics
07:20
Classes & TypeScript
07:58
Working with Interfaces
05:36
Configuring the TypeScript Compiler
02:29
Module Resources
00:07

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.