Урок 1.00:00:39
Introduction
Урок 2.00:02:01
What is Angular?
Урок 3.00:03:48
Architecture of Angular Apps
Урок 4.00:02:40
Setting Up the Development Environment
Урок 5.00:02:25
Your First Angular App
Урок 6.00:06:54
Structure of Angular Projects
Урок 7.00:03:15
Webpack
Урок 8.00:03:34
Angular Version History
Урок 9.00:00:41
Introduction
Урок 10.00:02:24
What is TypeScript?
Урок 11.00:03:00
Your First TypeScript Program
Урок 12.00:04:50
Declaring Variables
Урок 13.00:05:43
Types
Урок 14.00:02:48
Type Assertions
Урок 15.00:01:44
Arrow Functions
Урок 16.00:03:54
Interfaces
Урок 17.00:04:31
Classes
Урок 18.00:04:09
Objects
Урок 19.00:02:52
Constructors
Урок 20.00:02:56
Access Modifiers
Урок 21.00:01:42
Access Modifiers in Constructor Parameters
Урок 22.00:05:18
Properties
Урок 23.00:04:32
Modules
Урок 24.00:05:09
Solution
Урок 25.00:03:39
A Problem with the Current Implementation
Урок 26.00:00:19
Introduction
Урок 27.00:03:42
Building Blocks of Angular Apps
Урок 28.00:09:39
Components
Урок 29.00:04:42
Generating Components Using Angular CLI
Урок 30.00:02:28
Templates
Урок 31.00:03:27
Directives
Урок 32.00:04:29
Services
Урок 33.00:07:20
Dependency Injection
Урок 34.00:02:11
Generating Services Using Angular CLI
Урок 35.00:00:24
Introduction
Урок 36.00:03:16
Property Binding
Урок 37.00:03:35
Attribute Binding
Урок 38.00:04:53
Adding Bootstrap
Урок 39.00:01:47
Class Binding
Урок 40.00:01:20
Style Binding
Урок 41.00:04:30
Event Binding
Урок 42.00:01:51
Event Filtering
Урок 43.00:01:53
Template Variables
Урок 44.00:08:06
Two-way Binding
Урок 45.00:06:38
Pipes
Урок 46.00:06:16
Custom Pipes
Урок 47.00:00:26
Introduction
Урок 48.00:04:23
Component API
Урок 49.00:04:45
Input Properties
Урок 50.00:04:23
Aliasing Input Properties
Урок 51.00:03:23
Output Properties
Урок 52.00:05:51
Passing Event Data
Урок 53.00:02:05
Aliasing Output Properties
Урок 54.00:02:41
Templates
Урок 55.00:05:11
Styles
Урок 56.00:09:11
View Encapsulation
Урок 57.00:04:56
ngContent
Урок 58.00:02:34
ngContainer
Урок 59.00:00:31
Introduction
Урок 60.00:06:11
ngIf
Урок 61.00:03:25
Hidden Property
Урок 62.00:06:36
ngSwitchCase
Урок 63.00:04:18
ngFor
Урок 64.00:03:28
ngFor and Change Detection
Урок 65.00:05:47
ngFor and Trackby
Урок 66.00:01:47
The Leading Asterisk
Урок 67.00:01:51
ngClass
Урок 68.00:02:32
ngStyle
Урок 69.00:02:45
Safe Traversal Operator
Урок 70.00:09:53
Creating Custom Directives
Урок 71.00:00:26
Introduction
Урок 72.00:04:05
Building a Bootstrap Form
Урок 73.00:03:21
Types of Forms
Урок 74.00:05:30
ngModel
Урок 75.00:03:18
Adding Validation
Урок 76.00:04:20
Specific Validation Errors
Урок 77.00:01:26
Styling Invalid Input Fields
Урок 78.00:01:52
Cleaner Templates
Урок 79.00:05:05
ngForm
Урок 80.00:02:39
ngModelGroup
Урок 81.00:01:47
Control Classes and Directives
Урок 82.00:01:08
Disabling the Submit Button
Урок 83.00:02:18
Working with Check Boxes
Урок 84.00:06:02
Working with Drop-down Lists
Урок 85.00:02:56
Working with Radio Buttons
Урок 86.00:01:15
Introduction
Урок 87.00:00:50
Building a Bootstrap Form
Урок 88.00:06:14
Creating Controls Programmatically
Урок 89.00:07:07
Adding Validation
Урок 90.00:02:34
Specific Validation Errors
Урок 91.00:07:01
Implementing Custom Validation
Урок 92.00:05:13
Asynchronous Operations
Урок 93.00:08:04
Asynchronous Validators
Урок 94.00:01:38
Showing a Loader Image
Урок 95.00:04:58
Validating the Form Input Upon Submit
Урок 96.00:02:40
Nested FormGroups
Урок 97.00:08:43
FormArray
Урок 98.00:03:59
FormBuilder
Урок 99.00:01:16
Quick Recap
Урок 100.00:01:03
Introduction
Урок 101.00:01:52
JSONPlaceHolder
Урок 102.00:08:17
Getting Data
Урок 103.00:08:00
Creating Data
Урок 104.00:05:05
Updating Data
Урок 105.00:01:59
Deleting Data
Урок 106.00:03:54
OnInit Interface
Урок 107.00:03:41
Separation of Concerns
Урок 108.00:07:10
Extracting a Service
Урок 109.00:03:21
Handling Errors
Урок 110.00:02:27
Handling Unexpected ERrors
Урок 111.00:04:28
Handling Expected Errors
Урок 112.00:08:32
Throwing Application-specific Errors
Урок 113.00:03:00
Handling Bad Request Errors
Урок 114.00:03:08
Importing Observable Operators and Factory Methods
Урок 115.00:07:03
Global Error Handling
Урок 116.00:03:35
Extracting a Reusable Error Handling Method
Урок 117.00:07:40
Extracting a Reusable Data Service
Урок 118.00:04:27
The Map Operator
Урок 119.00:06:25
Optimistic vs Pessimistic Updates
Урок 120.00:00:30
Introduction
Урок 121.00:01:04
Routing in a Nutshell
Урок 122.00:06:47
Configuring Routes
Урок 123.00:02:29
RouterOutlet
Урок 124.00:05:41
RouterLink
Урок 125.00:01:53
RouterLinkActive
Урок 126.00:05:23
Getting the Route Parameters
Урок 127.00:08:57
Why Route Parameters Are Observables?
Урок 128.00:01:48
Routes with Multiple Parameters
Урок 129.00:04:29
Query Parameters
Урок 130.00:04:45
Subscribing to Multiple Observables
Урок 131.00:08:00
The SwitchMap Operator
Урок 132.00:02:16
Programmatic Navigation
Урок 133.00:00:46
Introduction
Урок 134.00:02:29
Application Overview
Урок 135.00:03:03
Architecture
Урок 136.00:05:47
JSON Web Tokens
Урок 137.00:08:03
Starter Code
Урок 138.00:06:08
Implementing Login
Урок 139.00:06:08
Implementing Logout
Урок 140.00:01:48
Showing or Hiding Elements
Урок 141.00:06:41
Showing or Hiding Elements based on the Users Role
Урок 142.00:04:16
Getting the Current User
Урок 143.00:00:49
CanActivate Interface
Урок 144.00:05:35
Redirecting Users After Logging In
Урок 145.00:04:34
Protecting Routes Based on the Users Role
Урок 146.00:05:45
Accessing Protected API Resources
Урок 147.00:07:27
Quick Recap