| Please note that this page does not hosts or makes available any of the listed filenames. You
                        cannot download any of those files from here. | 
                    
                        | 001 Course Introduction.en_US.srt | 1.53KB | 
                    
                        | 001 Course Introduction.mp4 | 7.09MB | 
                    
                        | 002 What is Angular_.en_US.srt | 2.73KB | 
                    
                        | 002 What is Angular_.mp4 | 14.30MB | 
                    
                        | 003 Join our Online Learning Community.html | 1.33KB | 
                    
                        | 004 Angular vs Angular 2 vs Latest Angular Version.en_US.srt | 3.70KB | 
                    
                        | 004 Angular vs Angular 2 vs Latest Angular Version.mp4 | 5.39MB | 
                    
                        | 005 CLI Deep Dive & Troubleshooting.html | 2.92KB | 
                    
                        | 006 MUST READ_ Potential Project Creation Issues.html | 2.04KB | 
                    
                        | 007 app.component.zip | 1.87KB | 
                    
                        | 007 Project Setup and First App.en_US.srt | 14.74KB | 
                    
                        | 007 Project Setup and First App.mp4 | 49.12MB | 
                    
                        | 008 Editing the First App.en_US.srt | 14.35KB | 
                    
                        | 008 Editing the First App.mp4 | 56.35MB | 
                    
                        | 008 first-app.zip | 35.93KB | 
                    
                        | 009 The Course Structure.en_US.srt | 5.74KB | 
                    
                        | 009 The Course Structure.mp4 | 15.28MB | 
                    
                        | 010 How to get the Most out of the Course.en_US.srt | 3.36KB | 
                    
                        | 010 How to get the Most out of the Course.mp4 | 7.70MB | 
                    
                        | 011 What is TypeScript_.en_US.srt | 3.35KB | 
                    
                        | 011 What is TypeScript_.mp4 | 6.44MB | 
                    
                        | 012 Optional_ TypeScript Quick Introduction.html | 976B | 
                    
                        | 013 A Basic Project Setup using Bootstrap for Styling.en_US.srt | 6.91KB | 
                    
                        | 013 A Basic Project Setup using Bootstrap for Styling.mp4 | 43.55MB | 
                    
                        | 013 project-template.zip | 19.57KB | 
                    
                        | 014 About the Course Code _ Code Snapshots.html | 1.77KB | 
                    
                        | 014 first-app.zip | 35.93KB | 
                    
                        | 014 project-template.zip | 36.77KB | 
                    
                        | 015 Module Introduction.en_US.srt | 1.18KB | 
                    
                        | 015 Module Introduction.mp4 | 4.33MB | 
                    
                        | 016 How an Angular App gets Loaded and Started.en_US.srt | 8.57KB | 
                    
                        | 016 How an Angular App gets Loaded and Started.mp4 | 36.31MB | 
                    
                        | 017 Components are Important!.en_US.srt | 3.84KB | 
                    
                        | 017 Components are Important!.mp4 | 12.41MB | 
                    
                        | 018 Creating a New Component.en_US.srt | 8.96KB | 
                    
                        | 018 Creating a New Component.mp4 | 34.72MB | 
                    
                        | 019 Understanding the Role of AppModule and Component Declaration.en_US.srt | 6.73KB | 
                    
                        | 019 Understanding the Role of AppModule and Component Declaration.mp4 | 28.81MB | 
                    
                        | 020 Using Custom Components.en_US.srt | 1.38KB | 
                    
                        | 020 Using Custom Components.mp4 | 5.65MB | 
                    
                        | 021 Creating Components with the CLI & Nesting Components.en_US.srt | 4.54KB | 
                    
                        | 021 Creating Components with the CLI & Nesting Components.mp4 | 18.38MB | 
                    
                        | 022 Working with Component Templates.en_US.srt | 3.91KB | 
                    
                        | 022 Working with Component Templates.mp4 | 16.73MB | 
                    
                        | 023 Working with Component Styles.en_US.srt | 4.85KB | 
                    
                        | 023 Working with Component Styles.mp4 | 20.88MB | 
                    
                        | 024 basics-components.zip | 39.09KB | 
                    
                        | 024 Fully Understanding the Component Selector.en_US.srt | 4.30KB | 
                    
                        | 024 Fully Understanding the Component Selector.mp4 | 20.17MB | 
                    
                        | 025 [assignment_file] Practicing Components.zip | 35.58KB | 
                    
                        | 025 [assignment_info] Practicing Components.html | 2.32KB | 
                    
                        | 025 [assignment_solution] Practicing Components.mp4 | 18.66MB | 
                    
                        | 025 [assignment] Practicing Components.mp4 | 3.72MB | 
                    
                        | 025 [OPTIONAL] Assignment Solution.en_US.srt | 8.36KB | 
                    
                        | 025 [OPTIONAL] Assignment Solution.mp4 | 46.40MB | 
                    
                        | 025 basics-assignment-1-solution.zip | 41.03KB | 
                    
                        | 026 What is Databinding_.en_US.srt | 3.71KB | 
                    
                        | 026 What is Databinding_.mp4 | 11.60MB | 
                    
                        | 027 String Interpolation.en_US.srt | 6.37KB | 
                    
                        | 027 String Interpolation.mp4 | 26.78MB | 
                    
                        | 028 Property Binding.en_US.srt | 8.49KB | 
                    
                        | 028 Property Binding.mp4 | 45.85MB | 
                    
                        | 029 Property Binding vs String Interpolation.en_US.srt | 4.10KB | 
                    
                        | 029 Property Binding vs String Interpolation.mp4 | 44.67MB | 
                    
                        | 030 Event Binding.en_US.srt | 5.35KB | 
                    
                        | 030 Event Binding.mp4 | 29.51MB | 
                    
                        | 031 Bindable Properties and Events.html | 1.08KB | 
                    
                        | 032 Passing and Using Data with Event Binding.en_US.srt | 5.32KB | 
                    
                        | 032 Passing and Using Data with Event Binding.mp4 | 40.48MB | 
                    
                        | 033 Important_ FormsModule is Required for Two-Way-Binding!.html | 909B | 
                    
                        | 034 Two-Way-Databinding.en_US.srt | 3.33KB | 
                    
                        | 034 Two-Way-Databinding.mp4 | 19.26MB | 
                    
                        | 035 basics-databinding.zip | 39.75KB | 
                    
                        | 035 Combining all Forms of Databinding.en_US.srt | 2.30KB | 
                    
                        | 035 Combining all Forms of Databinding.mp4 | 11.33MB | 
                    
                        | 036 [assignment_file] Practicing Databinding.zip | 35.46KB | 
                    
                        | 036 [assignment_info] Practicing Databinding.html | 2.31KB | 
                    
                        | 036 [assignment_solution] Practicing Databinding.mp4 | 15.17MB | 
                    
                        | 036 [assignment] Practicing Databinding.mp4 | 2.67MB | 
                    
                        | 036 [OPTIONAL] Assignment Solution.en_US.srt | 6.58KB | 
                    
                        | 036 [OPTIONAL] Assignment Solution.mp4 | 46.15MB | 
                    
                        | 036 basics-assignment-2-solution.zip | 36.12KB | 
                    
                        | 037 Understanding Directives.en_US.srt | 2.71KB | 
                    
                        | 037 Understanding Directives.mp4 | 7.84MB | 
                    
                        | 038 Using ngIf to Output Data Conditionally.en_US.srt | 4.72KB | 
                    
                        | 038 Using ngIf to Output Data Conditionally.mp4 | 19.78MB | 
                    
                        | 039 Enhancing ngIf with an Else Condition.en_US.srt | 3.50KB | 
                    
                        | 039 Enhancing ngIf with an Else Condition.mp4 | 21.20MB | 
                    
                        | 040 Styling Elements Dynamically with ngStyle.en_US.srt | 6.11KB | 
                    
                        | 040 Styling Elements Dynamically with ngStyle.mp4 | 34.45MB | 
                    
                        | 041 Applying CSS Classes Dynamically with ngClass.en_US.srt | 3.59KB | 
                    
                        | 041 Applying CSS Classes Dynamically with ngClass.mp4 | 19.80MB | 
                    
                        | 042 Outputting Lists with ngFor.en_US.srt | 4.19KB | 
                    
                        | 042 Outputting Lists with ngFor.mp4 | 34.72MB | 
                    
                        | 043 [assignment_file] Practicing Directives.zip | 35.61KB | 
                    
                        | 043 [assignment_info] Practicing Directives.html | 2.32KB | 
                    
                        | 043 [assignment_solution] Practicing Directives.mp4 | 20.28MB | 
                    
                        | 043 [assignment] Practicing Directives.mp4 | 5.32MB | 
                    
                        | 043 [OPTIONAL] Assignment Solution.en_US.srt | 9.06KB | 
                    
                        | 043 [OPTIONAL] Assignment Solution.mp4 | 63.36MB | 
                    
                        | 043 basics-assignment-3-solution.zip | 36.35KB | 
                    
                        | 044 basics-components.zip | 39.09KB | 
                    
                        | 044 basics-databinding.zip | 39.75KB | 
                    
                        | 044 basics-directives.zip | 39.81KB | 
                    
                        | 044 basics-ngfor-addition.zip | 35.25KB | 
                    
                        | 044 Getting the Index when using ngFor.en_US.srt | 3.53KB | 
                    
                        | 044 Getting the Index when using ngFor.mp4 | 45.77MB | 
                    
                        | 045 Project Introduction.en_US.srt | 1.43KB | 
                    
                        | 045 Project Introduction.mp4 | 1.36MB | 
                    
                        | 046 Planning the App.en_US.srt | 7.60KB | 
                    
                        | 046 Planning the App.mp4 | 11.48MB | 
                    
                        | 047 Creating a New App Correctly.html | 2.26KB | 
                    
                        | 048 prj-start.zip | 32.50KB | 
                    
                        | 048 Setting up the Application.en_US.srt | 5.77KB | 
                    
                        | 048 Setting up the Application.mp4 | 18.99MB | 
                    
                        | 049 Creating the Components.en_US.srt | 12.05KB | 
                    
                        | 049 Creating the Components.mp4 | 40.92MB | 
                    
                        | 050 Using the Components.en_US.srt | 4.17KB | 
                    
                        | 050 Using the Components.mp4 | 13.00MB | 
                    
                        | 051 Adding a Navigation Bar.en_US.srt | 6.61KB | 
                    
                        | 051 Adding a Navigation Bar.mp4 | 36.62MB | 
                    
                        | 052 Alternative Non-Collapsable Navigation Bar.html | 1.76KB | 
                    
                        | 053 Creating a _Recipe_ Model.en_US.srt | 5.85KB | 
                    
                        | 053 Creating a _Recipe_ Model.mp4 | 25.06MB | 
                    
                        | 054 Adding Content to the Recipes Components.en_US.srt | 9.41KB | 
                    
                        | 054 Adding Content to the Recipes Components.mp4 | 108.88MB | 
                    
                        | 055 Outputting a List of Recipes with ngFor.en_US.srt | 5.94KB | 
                    
                        | 055 Outputting a List of Recipes with ngFor.mp4 | 29.43MB | 
                    
                        | 056 Displaying Recipe Details.en_US.srt | 7.50KB | 
                    
                        | 056 Displaying Recipe Details.mp4 | 36.40MB | 
                    
                        | 057 Working on the ShoppingListComponent.en_US.srt | 2.18KB | 
                    
                        | 057 Working on the ShoppingListComponent.mp4 | 8.77MB | 
                    
                        | 058 Creating an _Ingredient_ Model.en_US.srt | 3.11KB | 
                    
                        | 058 Creating an _Ingredient_ Model.mp4 | 12.09MB | 
                    
                        | 059 Creating and Outputting the Shopping List.en_US.srt | 2.83KB | 
                    
                        | 059 Creating and Outputting the Shopping List.mp4 | 11.73MB | 
                    
                        | 060 Adding a Shopping List Edit Section.en_US.srt | 3.85KB | 
                    
                        | 060 Adding a Shopping List Edit Section.mp4 | 16.97MB | 
                    
                        | 061 prj-basics-final.zip | 58.51KB | 
                    
                        | 061 Wrap Up & Next Steps.en_US.srt | 1.11KB | 
                    
                        | 061 Wrap Up & Next Steps.mp4 | 2.70MB | 
                    
                        | 062 debugging.zip | 32.29KB | 
                    
                        | 062 Understanding Angular Error Messages.en_US.srt | 6.34KB | 
                    
                        | 062 Understanding Angular Error Messages.mp4 | 30.32MB | 
                    
                        | 063 Debugging Code in the Browser Using Sourcemaps.en_US.srt | 6.83KB | 
                    
                        | 063 Debugging Code in the Browser Using Sourcemaps.mp4 | 45.93MB | 
                    
                        | 064 cmp-databinding-start.zip | 19.11KB | 
                    
                        | 064 Module Introduction.en_US.srt | 719B | 
                    
                        | 064 Module Introduction.mp4 | 2.26MB | 
                    
                        | 065 Splitting Apps into Components.en_US.srt | 7.80KB | 
                    
                        | 065 Splitting Apps into Components.mp4 | 43.38MB | 
                    
                        | 066 Property & Event Binding Overview.en_US.srt | 2.16KB | 
                    
                        | 066 Property & Event Binding Overview.mp4 | 5.88MB | 
                    
                        | 067 Binding to Custom Properties.en_US.srt | 6.75KB | 
                    
                        | 067 Binding to Custom Properties.mp4 | 41.58MB | 
                    
                        | 068 Assigning an Alias to Custom Properties.en_US.srt | 2.38KB | 
                    
                        | 068 Assigning an Alias to Custom Properties.mp4 | 11.00MB | 
                    
                        | 069 Binding to Custom Events.en_US.srt | 10.80KB | 
                    
                        | 069 Binding to Custom Events.mp4 | 68.63MB | 
                    
                        | 070 Assigning an Alias to Custom Events.en_US.srt | 1.09KB | 
                    
                        | 070 Assigning an Alias to Custom Events.mp4 | 7.21MB | 
                    
                        | 071 Custom Property and Event Binding Summary.en_US.srt | 2.46KB | 
                    
                        | 071 Custom Property and Event Binding Summary.mp4 | 12.10MB | 
                    
                        | 072 Understanding View Encapsulation.en_US.srt | 5.72KB | 
                    
                        | 072 Understanding View Encapsulation.mp4 | 68.32MB | 
                    
                        | 073 More on View Encapsulation.en_US.srt | 3.35KB | 
                    
                        | 073 More on View Encapsulation.mp4 | 19.97MB | 
                    
                        | 074 Using Local References in Templates.en_US.srt | 5.64KB | 
                    
                        | 074 Using Local References in Templates.mp4 | 33.45MB | 
                    
                        | 075 @ViewChild() in Angular 8+.html | 1.48KB | 
                    
                        | 076 Getting Access to the Template & DOM with @ViewChild.en_US.srt | 5.90KB | 
                    
                        | 076 Getting Access to the Template & DOM with @ViewChild.mp4 | 45.97MB | 
                    
                        | 077 Projecting Content into Components with ng-content.en_US.srt | 4.24KB | 
                    
                        | 077 Projecting Content into Components with ng-content.mp4 | 23.90MB | 
                    
                        | 078 lifecycle.pdf | 10.87KB | 
                    
                        | 078 Understanding the Component Lifecycle.en_US.srt | 6.46KB | 
                    
                        | 078 Understanding the Component Lifecycle.mp4 | 18.28MB | 
                    
                        | 079 Seeing Lifecycle Hooks in Action.en_US.srt | 15.11KB | 
                    
                        | 079 Seeing Lifecycle Hooks in Action.mp4 | 105.95MB | 
                    
                        | 080 Lifecycle Hooks and Template Access.en_US.srt | 2.99KB | 
                    
                        | 080 Lifecycle Hooks and Template Access.mp4 | 22.78MB | 
                    
                        | 081 @ContentChild() in Angular 8+.html | 812B | 
                    
                        | 082 Getting Access to ng-content with @ContentChild.en_US.srt | 3.34KB | 
                    
                        | 082 Getting Access to ng-content with @ContentChild.mp4 | 22.86MB | 
                    
                        | 083 cmp-databinding-final.zip | 21.52KB | 
                    
                        | 083 Wrap Up.en_US.srt | 1.03KB | 
                    
                        | 083 Wrap Up.mp4 | 4.45MB | 
                    
                        | 084 [assignment_file] Practicing Property & Event Binding and View Encapsulation.zip | 35.09KB | 
                    
                        | 084 [assignment_info] Practicing Property & Event Binding and View Encapsulation.html | 2.32KB | 
                    
                        | 084 [assignment_solution] Practicing Property & Event Binding and View Encapsulation.mp4 | 37.10MB | 
                    
                        | 084 [assignment] Practicing Property & Event Binding and View Encapsulation.mp4 | 6.44MB | 
                    
                        | 084 [OPTIONAL] Assignment Solution.en_US.srt | 15.49KB | 
                    
                        | 084 [OPTIONAL] Assignment Solution.mp4 | 110.80MB | 
                    
                        | 084 cmp-databinding-assignment-solution.zip | 23.28KB | 
                    
                        | 085 Introduction.en_US.srt | 1.07KB | 
                    
                        | 085 Introduction.mp4 | 2.56MB | 
                    
                        | 085 prj-basics-final.zip | 58.51KB | 
                    
                        | 086 Adding Navigation with Event Binding and ngIf.en_US.srt | 8.61KB | 
                    
                        | 086 Adding Navigation with Event Binding and ngIf.mp4 | 32.61MB | 
                    
                        | 087 Passing Recipe Data with Property Binding.en_US.srt | 5.66KB | 
                    
                        | 087 Passing Recipe Data with Property Binding.mp4 | 21.98MB | 
                    
                        | 088 Passing Data with Event and Property Binding (Combined).en_US.srt | 12.46KB | 
                    
                        | 088 Passing Data with Event and Property Binding (Combined).mp4 | 74.97MB | 
                    
                        | 089 Make sure you have FormsModule added!.html | 956B | 
                    
                        | 090 Allowing the User to Add Ingredients to the Shopping List.en_US.srt | 8.92KB | 
                    
                        | 090 Allowing the User to Add Ingredients to the Shopping List.mp4 | 45.13MB | 
                    
                        | 090 prj-cmp-databinding-final.zip | 29.82KB | 
                    
                        | 091 directives-start.zip | 17.52KB | 
                    
                        | 091 Module Introduction.en_US.srt | 1.88KB | 
                    
                        | 091 Module Introduction.mp4 | 4.94MB | 
                    
                        | 092 directives-start.zip | 17.52KB | 
                    
                        | 092 ngFor and ngIf Recap.en_US.srt | 4.69KB | 
                    
                        | 092 ngFor and ngIf Recap.mp4 | 25.49MB | 
                    
                        | 093 ngClass and ngStyle Recap.en_US.srt | 3.60KB | 
                    
                        | 093 ngClass and ngStyle Recap.mp4 | 16.01MB | 
                    
                        | 094 Creating a Basic Attribute Directive.en_US.srt | 7.98KB | 
                    
                        | 094 Creating a Basic Attribute Directive.mp4 | 33.95MB | 
                    
                        | 095 Using the Renderer to build a Better Attribute Directive.en_US.srt | 9.37KB | 
                    
                        | 095 Using the Renderer to build a Better Attribute Directive.mp4 | 44.48MB | 
                    
                        | 096 More about the Renderer.html | 915B | 
                    
                        | 097 Using HostListener to Listen to Host Events.en_US.srt | 3.63KB | 
                    
                        | 097 Using HostListener to Listen to Host Events.mp4 | 22.11MB | 
                    
                        | 098 Using HostBinding to Bind to Host Properties.en_US.srt | 3.93KB | 
                    
                        | 098 Using HostBinding to Bind to Host Properties.mp4 | 25.14MB | 
                    
                        | 099 Binding to Directive Properties.en_US.srt | 8.21KB | 
                    
                        | 099 Binding to Directive Properties.mp4 | 63.86MB | 
                    
                        | 100 What Happens behind the Scenes on Structural Directives.en_US.srt | 3.57KB | 
                    
                        | 100 What Happens behind the Scenes on Structural Directives.mp4 | 23.65MB | 
                    
                        | 101 Building a Structural Directive.en_US.srt | 7.41KB | 
                    
                        | 101 Building a Structural Directive.mp4 | 45.64MB | 
                    
                        | 102 directives-final.zip | 19.95KB | 
                    
                        | 102 Understanding ngSwitch.en_US.srt | 3.35KB | 
                    
                        | 102 Understanding ngSwitch.mp4 | 14.81MB | 
                    
                        | 103 Building and Using a Dropdown Directive.en_US.srt | 7.91KB | 
                    
                        | 103 Building and Using a Dropdown Directive.mp4 | 34.40MB | 
                    
                        | 103 prj-directives-final.zip | 29.60KB | 
                    
                        | 104 Closing the Dropdown From Anywhere.html | 1.24KB | 
                    
                        | 105 Module Introduction.en_US.srt | 1.95KB | 
                    
                        | 105 Module Introduction.mp4 | 6.41MB | 
                    
                        | 105 services-start.zip | 20.39KB | 
                    
                        | 106 services-start.zip | 20.39KB | 
                    
                        | 106 Why would you Need Services_.en_US.srt | 2.77KB | 
                    
                        | 106 Why would you Need Services_.mp4 | 14.91MB | 
                    
                        | 107 Creating a Logging Service.en_US.srt | 4.28KB | 
                    
                        | 107 Creating a Logging Service.mp4 | 30.97MB | 
                    
                        | 108 Injecting the Logging Service into Components.en_US.srt | 7.64KB | 
                    
                        | 108 Injecting the Logging Service into Components.mp4 | 97.10MB | 
                    
                        | 109 Creating a Data Service.en_US.srt | 8.26KB | 
                    
                        | 109 Creating a Data Service.mp4 | 48.43MB | 
                    
                        | 110 Understanding the Hierarchical Injector.en_US.srt | 3.35KB | 
                    
                        | 110 Understanding the Hierarchical Injector.mp4 | 17.54MB | 
                    
                        | 111 How many Instances of Service Should It Be_.en_US.srt | 3.04KB | 
                    
                        | 111 How many Instances of Service Should It Be_.mp4 | 16.34MB | 
                    
                        | 112 Injecting Services into Services.en_US.srt | 6.55KB | 
                    
                        | 112 Injecting Services into Services.mp4 | 35.58MB | 
                    
                        | 113 services-final.zip | 21.96KB | 
                    
                        | 113 Using Services for Cross-Component Communication.en_US.srt | 4.88KB | 
                    
                        | 113 Using Services for Cross-Component Communication.mp4 | 29.93MB | 
                    
                        | 114 A Different Way Of Injecting Services.html | 1.68KB | 
                    
                        | 114 services-final.zip | 21.96KB | 
                    
                        | 115 [assignment_file] Practicing Services.zip | 40.49KB | 
                    
                        | 115 [assignment_info] Practicing Services.html | 2.32KB | 
                    
                        | 115 [assignment_solution] Practicing Services.mp4 | 25.49MB | 
                    
                        | 115 [assignment] Practicing Services.mp4 | 4.69MB | 
                    
                        | 115 [OPTIONAL] Assignment Solution.en_US.srt | 11.86KB | 
                    
                        | 115 [OPTIONAL] Assignment Solution.mp4 | 67.69MB | 
                    
                        | 115 services-assignment-solution.zip | 42.80KB | 
                    
                        | 116 Introduction.en_US.srt | 1.65KB | 
                    
                        | 116 Introduction.mp4 | 4.06MB | 
                    
                        | 116 prj-directives-final.zip | 29.60KB | 
                    
                        | 117 prj-directives-final.zip | 29.60KB | 
                    
                        | 117 Setting up the Services.en_US.srt | 1.51KB | 
                    
                        | 117 Setting up the Services.mp4 | 5.76MB | 
                    
                        | 118 Managing Recipes in a Recipe Service.en_US.srt | 4.89KB | 
                    
                        | 118 Managing Recipes in a Recipe Service.mp4 | 46.97MB | 
                    
                        | 119 Using a Service for Cross-Component Communication.en_US.srt | 6.17KB | 
                    
                        | 119 Using a Service for Cross-Component Communication.mp4 | 26.34MB | 
                    
                        | 120 Adding the Shopping List Service.en_US.srt | 5.79KB | 
                    
                        | 120 Adding the Shopping List Service.mp4 | 31.81MB | 
                    
                        | 121 Using Services for Pushing Data from A to B.en_US.srt | 3.60KB | 
                    
                        | 121 Using Services for Pushing Data from A to B.mp4 | 14.80MB | 
                    
                        | 122 Adding Ingredients to Recipes.en_US.srt | 4.43KB | 
                    
                        | 122 Adding Ingredients to Recipes.mp4 | 23.17MB | 
                    
                        | 123 Passing Ingredients from Recipes to the Shopping List (via a Service).en_US.srt | 8.31KB | 
                    
                        | 123 Passing Ingredients from Recipes to the Shopping List (via a Service).mp4 | 43.19MB | 
                    
                        | 123 prj-services-final.zip | 30.75KB | 
                    
                        | 124 Module Introduction.en_US.srt | 1.65KB | 
                    
                        | 124 Module Introduction.mp4 | 5.25MB | 
                    
                        | 124 routing-start.zip | 25.88KB | 
                    
                        | 125 routing-start.zip | 25.88KB | 
                    
                        | 125 Why do we need a Router_.en_US.srt | 1.53KB | 
                    
                        | 125 Why do we need a Router_.mp4 | 5.46MB | 
                    
                        | 126 Understanding the Example Project.html | 850B | 
                    
                        | 127 Setting up and Loading Routes.en_US.srt | 10.39KB | 
                    
                        | 127 Setting up and Loading Routes.mp4 | 62.31MB | 
                    
                        | 128 Navigating with Router Links.en_US.srt | 7.09KB | 
                    
                        | 128 Navigating with Router Links.mp4 | 26.59MB | 
                    
                        | 129 Understanding Navigation Paths.en_US.srt | 5.93KB | 
                    
                        | 129 Understanding Navigation Paths.mp4 | 133.90MB | 
                    
                        | 130 Styling Active Router Links.en_US.srt | 5.95KB | 
                    
                        | 130 Styling Active Router Links.mp4 | 41.81MB | 
                    
                        | 131 Navigating Programmatically.en_US.srt | 4.39KB | 
                    
                        | 131 Navigating Programmatically.mp4 | 18.02MB | 
                    
                        | 132 Using Relative Paths in Programmatic Navigation.en_US.srt | 6.44KB | 
                    
                        | 132 Using Relative Paths in Programmatic Navigation.mp4 | 47.50MB | 
                    
                        | 133 Passing Parameters to Routes.en_US.srt | 3.73KB | 
                    
                        | 133 Passing Parameters to Routes.mp4 | 23.07MB | 
                    
                        | 134 Fetching Route Parameters.en_US.srt | 4.96KB | 
                    
                        | 134 Fetching Route Parameters.mp4 | 27.86MB | 
                    
                        | 135 Fetching Route Parameters Reactively.en_US.srt | 9.00KB | 
                    
                        | 135 Fetching Route Parameters Reactively.mp4 | 65.25MB | 
                    
                        | 136 An Important Note about Route Observables.en_US.srt | 3.61KB | 
                    
                        | 136 An Important Note about Route Observables.mp4 | 15.65MB | 
                    
                        | 137 Passing Query Parameters and Fragments.en_US.srt | 7.71KB | 
                    
                        | 137 Passing Query Parameters and Fragments.mp4 | 40.00MB | 
                    
                        | 138 Retrieving Query Parameters and Fragments.en_US.srt | 4.26KB | 
                    
                        | 138 Retrieving Query Parameters and Fragments.mp4 | 24.82MB | 
                    
                        | 139 Practicing and some Common Gotchas.en_US.srt | 7.80KB | 
                    
                        | 139 Practicing and some Common Gotchas.mp4 | 45.92MB | 
                    
                        | 140 Setting up Child (Nested) Routes.en_US.srt | 5.39KB | 
                    
                        | 140 Setting up Child (Nested) Routes.mp4 | 41.95MB | 
                    
                        | 141 Using Query Parameters - Practice.en_US.srt | 6.58KB | 
                    
                        | 141 Using Query Parameters - Practice.mp4 | 30.57MB | 
                    
                        | 142 Configuring the Handling of Query Parameters.en_US.srt | 2.25KB | 
                    
                        | 142 Configuring the Handling of Query Parameters.mp4 | 13.03MB | 
                    
                        | 143 Redirecting and Wildcard Routes.en_US.srt | 5.46KB | 
                    
                        | 143 Redirecting and Wildcard Routes.mp4 | 128.78MB | 
                    
                        | 144 Important_ Redirection Path Matching.html | 1.61KB | 
                    
                        | 145 Outsourcing the Route Configuration.en_US.srt | 5.30KB | 
                    
                        | 145 Outsourcing the Route Configuration.mp4 | 44.04MB | 
                    
                        | 146 An Introduction to Guards.en_US.srt | 2.06KB | 
                    
                        | 146 An Introduction to Guards.mp4 | 13.75MB | 
                    
                        | 147 Protecting Routes with canActivate.en_US.srt | 10.36KB | 
                    
                        | 147 Protecting Routes with canActivate.mp4 | 65.00MB | 
                    
                        | 148 Protecting Child (Nested) Routes with canActivateChild.en_US.srt | 3.38KB | 
                    
                        | 148 Protecting Child (Nested) Routes with canActivateChild.mp4 | 15.37MB | 
                    
                        | 149 Using a Fake Auth Service.en_US.srt | 1.91KB | 
                    
                        | 149 Using a Fake Auth Service.mp4 | 11.23MB | 
                    
                        | 150 Controlling Navigation with canDeactivate.en_US.srt | 14.53KB | 
                    
                        | 150 Controlling Navigation with canDeactivate.mp4 | 200.10MB | 
                    
                        | 151 Passing Static Data to a Route.en_US.srt | 7.68KB | 
                    
                        | 151 Passing Static Data to a Route.mp4 | 166.75MB | 
                    
                        | 152 Resolving Dynamic Data with the resolve Guard.en_US.srt | 12.19KB | 
                    
                        | 152 Resolving Dynamic Data with the resolve Guard.mp4 | 273.91MB | 
                    
                        | 153 Understanding Location Strategies.en_US.srt | 5.98KB | 
                    
                        | 153 Understanding Location Strategies.mp4 | 61.06MB | 
                    
                        | 154 routing-final.zip | 32.61KB | 
                    
                        | 154 Wrap Up.en_US.srt | 1.12KB | 
                    
                        | 154 Wrap Up.mp4 | 3.32MB | 
                    
                        | 155 Planning the General Structure.en_US.srt | 2.12KB | 
                    
                        | 155 Planning the General Structure.mp4 | 4.46MB | 
                    
                        | 156 Setting Up Routes.en_US.srt | 10.10KB | 
                    
                        | 156 Setting Up Routes.mp4 | 41.54MB | 
                    
                        | 157 Adding Navigation to the App.en_US.srt | 2.13KB | 
                    
                        | 157 Adding Navigation to the App.mp4 | 24.41MB | 
                    
                        | 158 Marking Active Routes.en_US.srt | 2.08KB | 
                    
                        | 158 Marking Active Routes.mp4 | 6.68MB | 
                    
                        | 159 Fixing Page Reload Issues.en_US.srt | 3.72KB | 
                    
                        | 159 Fixing Page Reload Issues.mp4 | 20.71MB | 
                    
                        | 160 Child Routes_ Challenge.en_US.srt | 2.54KB | 
                    
                        | 160 Child Routes_ Challenge.mp4 | 11.15MB | 
                    
                        | 161 Adding Child Routing Together.en_US.srt | 5.19KB | 
                    
                        | 161 Adding Child Routing Together.mp4 | 27.78MB | 
                    
                        | 162 Configuring Route Parameters.en_US.srt | 7.44KB | 
                    
                        | 162 Configuring Route Parameters.mp4 | 43.31MB | 
                    
                        | 163 Passing Dynamic Parameters to Links.en_US.srt | 3.50KB | 
                    
                        | 163 Passing Dynamic Parameters to Links.mp4 | 15.10MB | 
                    
                        | 164 Styling Active Recipe Items.en_US.srt | 1.58KB | 
                    
                        | 164 Styling Active Recipe Items.mp4 | 8.13MB | 
                    
                        | 165 Adding Editing Routes.en_US.srt | 4.11KB | 
                    
                        | 165 Adding Editing Routes.mp4 | 29.82MB | 
                    
                        | 166 Retrieving Route Parameters.en_US.srt | 4.04KB | 
                    
                        | 166 Retrieving Route Parameters.mp4 | 22.04MB | 
                    
                        | 167 Programmatic Navigation to the Edit Page.en_US.srt | 5.64KB | 
                    
                        | 167 Programmatic Navigation to the Edit Page.mp4 | 59.04MB | 
                    
                        | 168 One Note about Route Observables.en_US.srt | 1.05KB | 
                    
                        | 168 One Note about Route Observables.mp4 | 4.48MB | 
                    
                        | 169 prj-routing-final.zip | 34.55KB | 
                    
                        | 169 Project Cleanup.html | 1.47KB | 
                    
                        | 170 Module Introduction.en_US.srt | 5.77KB | 
                    
                        | 170 Module Introduction.mp4 | 16.56MB | 
                    
                        | 171 Install RxJS.html | 784B | 
                    
                        | 172 Analyzing Angular Observables.en_US.srt | 2.87KB | 
                    
                        | 172 Analyzing Angular Observables.mp4 | 12.11MB | 
                    
                        | 172 obs-01-start.zip | 42.96KB | 
                    
                        | 173 Getting Closer to the Core of Observables.en_US.srt | 8.71KB | 
                    
                        | 173 Getting Closer to the Core of Observables.mp4 | 39.94MB | 
                    
                        | 174 Building a Custom Observable.en_US.srt | 6.21KB | 
                    
                        | 174 Building a Custom Observable.mp4 | 29.99MB | 
                    
                        | 174 obs-03-complete-custom-observable.zip | 41.76KB | 
                    
                        | 175 Errors & Completion.en_US.srt | 8.91KB | 
                    
                        | 175 Errors & Completion.mp4 | 48.25MB | 
                    
                        | 176 Observables & You!.en_US.srt | 2.48KB | 
                    
                        | 176 Observables & You!.mp4 | 14.37MB | 
                    
                        | 177 obs-04-operators.zip | 38.40KB | 
                    
                        | 177 Understanding Operators.en_US.srt | 11.08KB | 
                    
                        | 177 Understanding Operators.mp4 | 104.95MB | 
                    
                        | 178 Subjects.en_US.srt | 10.24KB | 
                    
                        | 178 Subjects.mp4 | 47.49MB | 
                    
                        | 179 obs-05-finished.zip | 45.01KB | 
                    
                        | 179 Wrap Up.en_US.srt | 1.51KB | 
                    
                        | 179 Wrap Up.mp4 | 6.01MB | 
                    
                        | 180 obs-01-start.zip | 37.25KB | 
                    
                        | 180 obs-02-first-custom-observable.zip | 40.91KB | 
                    
                        | 180 obs-03-complete-custom-observable.zip | 41.76KB | 
                    
                        | 180 obs-04-operators.zip | 38.40KB | 
                    
                        | 180 obs-05-finished.zip | 45.01KB | 
                    
                        | 180 Useful Resources & Links.html | 1.06KB | 
                    
                        | 181 Improving the Reactive Service with Observables (Subjects).en_US.srt | 6.98KB | 
                    
                        | 181 Improving the Reactive Service with Observables (Subjects).mp4 | 45.89MB | 
                    
                        | 181 prj-obs-01-finished.zip | 78.22KB | 
                    
                        | 181 prj-routing-final.zip | 34.55KB | 
                    
                        | 182 Changed the Subscription Name.html | 693B | 
                    
                        | 183 Module Introduction.en_US.srt | 1.64KB | 
                    
                        | 183 Module Introduction.mp4 | 4.41MB | 
                    
                        | 184 Why do we Need Angular's Help_.en_US.srt | 2.84KB | 
                    
                        | 184 Why do we Need Angular's Help_.mp4 | 9.35MB | 
                    
                        | 185 Template-Driven (TD) vs Reactive Approach.en_US.srt | 1.49KB | 
                    
                        | 185 Template-Driven (TD) vs Reactive Approach.mp4 | 4.55MB | 
                    
                        | 186 An Example Form.en_US.srt | 1.97KB | 
                    
                        | 186 An Example Form.mp4 | 10.09MB | 
                    
                        | 186 forms-td-start.zip | 18.43KB | 
                    
                        | 187 TD_ Creating the Form and Registering the Controls.en_US.srt | 7.08KB | 
                    
                        | 187 TD_ Creating the Form and Registering the Controls.mp4 | 53.75MB | 
                    
                        | 188 TD_ Submitting and Using the Form.en_US.srt | 7.68KB | 
                    
                        | 188 TD_ Submitting and Using the Form.mp4 | 54.99MB | 
                    
                        | 189 TD_ Understanding Form State.en_US.srt | 3.21KB | 
                    
                        | 189 TD_ Understanding Form State.mp4 | 11.47MB | 
                    
                        | 190 TD_ Accessing the Form with @ViewChild.en_US.srt | 3.75KB | 
                    
                        | 190 TD_ Accessing the Form with @ViewChild.mp4 | 20.29MB | 
                    
                        | 191 TD_ Adding Validation to check User Input.en_US.srt | 5.09KB | 
                    
                        | 191 TD_ Adding Validation to check User Input.mp4 | 28.06MB | 
                    
                        | 192 Built-in Validators & Using HTML5 Validation.html | 1.40KB | 
                    
                        | 193 TD_ Using the Form State.en_US.srt | 5.71KB | 
                    
                        | 193 TD_ Using the Form State.mp4 | 29.52MB | 
                    
                        | 194 TD_ Outputting Validation Error Messages.en_US.srt | 2.82KB | 
                    
                        | 194 TD_ Outputting Validation Error Messages.mp4 | 21.28MB | 
                    
                        | 195 TD_ Set Default Values with ngModel Property Binding.en_US.srt | 2.96KB | 
                    
                        | 195 TD_ Set Default Values with ngModel Property Binding.mp4 | 15.76MB | 
                    
                        | 196 TD_ Using ngModel with Two-Way-Binding.en_US.srt | 3.22KB | 
                    
                        | 196 TD_ Using ngModel with Two-Way-Binding.mp4 | 18.88MB | 
                    
                        | 197 TD_ Grouping Form Controls.en_US.srt | 3.93KB | 
                    
                        | 197 TD_ Grouping Form Controls.mp4 | 30.20MB | 
                    
                        | 198 TD_ Handling Radio Buttons.en_US.srt | 4.16KB | 
                    
                        | 198 TD_ Handling Radio Buttons.mp4 | 29.57MB | 
                    
                        | 199 TD_ Setting and Patching Form Values.en_US.srt | 5.19KB | 
                    
                        | 199 TD_ Setting and Patching Form Values.mp4 | 33.48MB | 
                    
                        | 200 TD_ Using Form Data.en_US.srt | 5.70KB | 
                    
                        | 200 TD_ Using Form Data.mp4 | 34.13MB | 
                    
                        | 201 forms-td-final.zip | 19.24KB | 
                    
                        | 201 TD_ Resetting Forms.en_US.srt | 2.06KB | 
                    
                        | 201 TD_ Resetting Forms.mp4 | 12.84MB | 
                    
                        | 202 [assignment_file] Practicing Template-Driven Forms.zip | 19.32KB | 
                    
                        | 202 [assignment_info] Practicing Template-Driven Forms.html | 2.32KB | 
                    
                        | 202 [assignment_solution] Practicing Template-Driven Forms.mp4 | 185.20MB | 
                    
                        | 202 [assignment] Practicing Template-Driven Forms.mp4 | 3.49MB | 
                    
                        | 202 Introduction to the Reactive Approach.en_US.srt | 883B | 
                    
                        | 202 Introduction to the Reactive Approach.mp4 | 2.33MB | 
                    
                        | 203 forms-reactive-start.zip | 18.83KB | 
                    
                        | 203 Reactive_ Setup.en_US.srt | 3.13KB | 
                    
                        | 203 Reactive_ Setup.mp4 | 16.96MB | 
                    
                        | 204 Reactive_ Creating a Form in Code.en_US.srt | 5.46KB | 
                    
                        | 204 Reactive_ Creating a Form in Code.mp4 | 22.15MB | 
                    
                        | 205 Reactive_ Syncing HTML and Form.en_US.srt | 5.12KB | 
                    
                        | 205 Reactive_ Syncing HTML and Form.mp4 | 29.04MB | 
                    
                        | 206 Reactive_ Submitting the Form.en_US.srt | 2.77KB | 
                    
                        | 206 Reactive_ Submitting the Form.mp4 | 15.37MB | 
                    
                        | 207 Reactive_ Adding Validation.en_US.srt | 3.46KB | 
                    
                        | 207 Reactive_ Adding Validation.mp4 | 15.58MB | 
                    
                        | 208 Reactive_ Getting Access to Controls.en_US.srt | 4.58KB | 
                    
                        | 208 Reactive_ Getting Access to Controls.mp4 | 59.07MB | 
                    
                        | 209 Reactive_ Grouping Controls.en_US.srt | 4.52KB | 
                    
                        | 209 Reactive_ Grouping Controls.mp4 | 35.70MB | 
                    
                        | 210 Fixing a Bug.html | 1.59KB | 
                    
                        | 211 Reactive_ Arrays of Form Controls (FormArray).en_US.srt | 8.36KB | 
                    
                        | 211 Reactive_ Arrays of Form Controls (FormArray).mp4 | 67.73MB | 
                    
                        | 212 Reactive_ Creating Custom Validators.en_US.srt | 7.25KB | 
                    
                        | 212 Reactive_ Creating Custom Validators.mp4 | 96.64MB | 
                    
                        | 213 Reactive_ Using Error Codes.en_US.srt | 3.69KB | 
                    
                        | 213 Reactive_ Using Error Codes.mp4 | 22.06MB | 
                    
                        | 214 Reactive_ Creating a Custom Async Validator.en_US.srt | 5.36KB | 
                    
                        | 214 Reactive_ Creating a Custom Async Validator.mp4 | 40.79MB | 
                    
                        | 215 Reactive_ Reacting to Status or Value Changes.en_US.srt | 2.54KB | 
                    
                        | 215 Reactive_ Reacting to Status or Value Changes.mp4 | 14.43MB | 
                    
                        | 216 forms-reactive-final.zip | 18.90KB | 
                    
                        | 216 Reactive_ Setting and Patching Values.en_US.srt | 2.32KB | 
                    
                        | 216 Reactive_ Setting and Patching Values.mp4 | 18.16MB | 
                    
                        | 217 [assignment_file] Practicing Reactive Forms.zip | 18.76KB | 
                    
                        | 217 [assignment_info] Practicing Reactive Forms.html | 2.32KB | 
                    
                        | 217 [assignment_solution] Practicing Reactive Forms.mp4 | 40.46MB | 
                    
                        | 217 [assignment] Practicing Reactive Forms.mp4 | 2.96MB | 
                    
                        | 217 [OPTIONAL] Assignment Solution.en_US.srt | 16.44KB | 
                    
                        | 217 [OPTIONAL] Assignment Solution.mp4 | 125.00MB | 
                    
                        | 217 forms-reactive-assignment-solution.zip | 20.00KB | 
                    
                        | 218 Introduction.en_US.srt | 1.38KB | 
                    
                        | 218 Introduction.mp4 | 5.48MB | 
                    
                        | 218 prj-obs-01-finished.zip | 78.22KB | 
                    
                        | 219 TD_ Adding the Shopping List Form.en_US.srt | 4.24KB | 
                    
                        | 219 TD_ Adding the Shopping List Form.mp4 | 30.24MB | 
                    
                        | 220 Adding Validation to the Form.en_US.srt | 3.14KB | 
                    
                        | 220 Adding Validation to the Form.mp4 | 10.40MB | 
                    
                        | 221 Allowing the Selection of Items in the List.en_US.srt | 5.37KB | 
                    
                        | 221 Allowing the Selection of Items in the List.mp4 | 23.10MB | 
                    
                        | 222 Loading the Shopping List Items into the Form.en_US.srt | 3.48KB | 
                    
                        | 222 Loading the Shopping List Items into the Form.mp4 | 19.02MB | 
                    
                        | 223 Updating existing Items.en_US.srt | 3.90KB | 
                    
                        | 223 Updating existing Items.mp4 | 19.31MB | 
                    
                        | 224 Resetting the Form.en_US.srt | 2.82KB | 
                    
                        | 224 Resetting the Form.mp4 | 12.58MB | 
                    
                        | 225 Allowing the the User to Clear (Cancel) the Form.en_US.srt | 1.35KB | 
                    
                        | 225 Allowing the the User to Clear (Cancel) the Form.mp4 | 6.74MB | 
                    
                        | 226 Allowing the Deletion of Shopping List Items.en_US.srt | 3.42KB | 
                    
                        | 226 Allowing the Deletion of Shopping List Items.mp4 | 13.40MB | 
                    
                        | 227 Creating the Template for the (Reactive) Recipe Edit Form.en_US.srt | 5.90KB | 
                    
                        | 227 Creating the Template for the (Reactive) Recipe Edit Form.mp4 | 29.28MB | 
                    
                        | 228 Creating the Form For Editing Recipes.en_US.srt | 5.80KB | 
                    
                        | 228 Creating the Form For Editing Recipes.mp4 | 26.70MB | 
                    
                        | 229 Syncing HTML with the Form.en_US.srt | 4.38KB | 
                    
                        | 229 Syncing HTML with the Form.mp4 | 25.13MB | 
                    
                        | 230 Fixing a Bug.html | 1.27KB | 
                    
                        | 231 Adding Ingredient Controls to a Form Array.en_US.srt | 6.20KB | 
                    
                        | 231 Adding Ingredient Controls to a Form Array.mp4 | 37.38MB | 
                    
                        | 232 Adding new Ingredient Controls.en_US.srt | 4.03KB | 
                    
                        | 232 Adding new Ingredient Controls.mp4 | 27.59MB | 
                    
                        | 233 Validating User Input.en_US.srt | 5.78KB | 
                    
                        | 233 Validating User Input.mp4 | 37.26MB | 
                    
                        | 234 Submitting the Recipe Edit Form.en_US.srt | 8.59KB | 
                    
                        | 234 Submitting the Recipe Edit Form.mp4 | 48.89MB | 
                    
                        | 235 Adding a Delete and Clear (Cancel) Functionality.en_US.srt | 5.42KB | 
                    
                        | 235 Adding a Delete and Clear (Cancel) Functionality.mp4 | 36.19MB | 
                    
                        | 236 Redirecting the User (after Deleting a Recipe).en_US.srt | 1.67KB | 
                    
                        | 236 Redirecting the User (after Deleting a Recipe).mp4 | 21.33MB | 
                    
                        | 237 Adding an Image Preview.en_US.srt | 1.94KB | 
                    
                        | 237 Adding an Image Preview.mp4 | 20.32MB | 
                    
                        | 238 Providing the Recipe Service Correctly.en_US.srt | 2.11KB | 
                    
                        | 238 Providing the Recipe Service Correctly.mp4 | 32.42MB | 
                    
                        | 239 Deleting Ingredients and Some Finishing Touches.en_US.srt | 3.79KB | 
                    
                        | 239 Deleting Ingredients and Some Finishing Touches.mp4 | 44.36MB | 
                    
                        | 239 prj-forms-final.zip | 69.02KB | 
                    
                        | 240 Deleting all Items in a FormArray.html | 988B | 
                    
                        | 241 Introduction & Why Pipes are Useful.en_US.srt | 2.58KB | 
                    
                        | 241 Introduction & Why Pipes are Useful.mp4 | 6.87MB | 
                    
                        | 242 pipes-start.zip | 33.72KB | 
                    
                        | 242 Using Pipes.en_US.srt | 4.24KB | 
                    
                        | 242 Using Pipes.mp4 | 22.82MB | 
                    
                        | 243 Parametrizing Pipes.en_US.srt | 2.76KB | 
                    
                        | 243 Parametrizing Pipes.mp4 | 10.81MB | 
                    
                        | 244 Where to learn more about Pipes.en_US.srt | 2.63KB | 
                    
                        | 244 Where to learn more about Pipes.mp4 | 13.95MB | 
                    
                        | 245 Chaining Multiple Pipes.en_US.srt | 2.73KB | 
                    
                        | 245 Chaining Multiple Pipes.mp4 | 16.60MB | 
                    
                        | 246 Creating a Custom Pipe.en_US.srt | 8.21KB | 
                    
                        | 246 Creating a Custom Pipe.mp4 | 55.41MB | 
                    
                        | 247 Parametrizing a Custom Pipe.en_US.srt | 3.32KB | 
                    
                        | 247 Parametrizing a Custom Pipe.mp4 | 17.71MB | 
                    
                        | 248 Example_ Creating a Filter Pipe.en_US.srt | 8.61KB | 
                    
                        | 248 Example_ Creating a Filter Pipe.mp4 | 49.11MB | 
                    
                        | 249 Pure and Impure Pipes (or_ How to _fix_ the Filter Pipe).en_US.srt | 5.98KB | 
                    
                        | 249 Pure and Impure Pipes (or_ How to _fix_ the Filter Pipe).mp4 | 24.45MB | 
                    
                        | 250 pipes-final.zip | 35.57KB | 
                    
                        | 250 Understanding the _async_ Pipe.en_US.srt | 5.06KB | 
                    
                        | 250 Understanding the _async_ Pipe.mp4 | 56.93MB | 
                    
                        | 251 [assignment_file] Practicing Pipes.zip | 35.75KB | 
                    
                        | 251 [assignment_info] Practicing Pipes.html | 2.32KB | 
                    
                        | 251 [assignment_solution] Practicing Pipes.mp4 | 13.78MB | 
                    
                        | 251 [assignment] Practicing Pipes.mp4 | 2.97MB | 
                    
                        | 251 A New IDE.en_US.srt | 1.01KB | 
                    
                        | 251 A New IDE.mp4 | 3.05MB | 
                    
                        | 252 http-01-start.zip | 17.73KB | 
                    
                        | 252 Module Introduction.en_US.srt | 1.44KB | 
                    
                        | 252 Module Introduction.mp4 | 1.83MB | 
                    
                        | 253 Building-a-REST-API.txt | 65B | 
                    
                        | 253 How Does Angular Interact With Backends_.en_US.srt | 4.11KB | 
                    
                        | 253 How Does Angular Interact With Backends_.mp4 | 8.04MB | 
                    
                        | 253 http-01-start.zip | 17.73KB | 
                    
                        | 253 Securing-JS-Code.txt | 61B | 
                    
                        | 254 The Anatomy of a Http Request.en_US.srt | 3.34KB | 
                    
                        | 254 The Anatomy of a Http Request.mp4 | 5.17MB | 
                    
                        | 255 Backend (Firebase) Setup.en_US.srt | 3.78KB | 
                    
                        | 255 Backend (Firebase) Setup.mp4 | 24.17MB | 
                    
                        | 256 http-01-start.zip | 30.02KB | 
                    
                        | 256 http-02-post-requests.zip | 33.71KB | 
                    
                        | 256 Sending a POST Request.en_US.srt | 13.41KB | 
                    
                        | 256 Sending a POST Request.mp4 | 64.72MB | 
                    
                        | 257 GETting Data.en_US.srt | 3.86KB | 
                    
                        | 257 GETting Data.mp4 | 13.03MB | 
                    
                        | 258 http-03-get-and-transform-data.zip | 35.33KB | 
                    
                        | 258 Using RxJS Operators to Transform Response Data.en_US.srt | 4.79KB | 
                    
                        | 258 Using RxJS Operators to Transform Response Data.mp4 | 24.10MB | 
                    
                        | 259 Using Types with the HttpClient.en_US.srt | 6.18KB | 
                    
                        | 259 Using Types with the HttpClient.mp4 | 26.03MB | 
                    
                        | 260 Outputting Posts.en_US.srt | 2.52KB | 
                    
                        | 260 Outputting Posts.mp4 | 13.23MB | 
                    
                        | 261 http-04-loading-indicator.zip | 35.32KB | 
                    
                        | 261 Showing a Loading Indicator.en_US.srt | 2.88KB | 
                    
                        | 261 Showing a Loading Indicator.mp4 | 11.74MB | 
                    
                        | 262 Using a Service for Http Requests.en_US.srt | 8.23KB | 
                    
                        | 262 Using a Service for Http Requests.mp4 | 46.90MB | 
                    
                        | 263 Services & Components Working Together.en_US.srt | 4.33KB | 
                    
                        | 263 Services & Components Working Together.mp4 | 22.22MB | 
                    
                        | 264 Sending a DELETE Request.en_US.srt | 4.36KB | 
                    
                        | 264 Sending a DELETE Request.mp4 | 20.06MB | 
                    
                        | 265 Handling Errors.en_US.srt | 8.72KB | 
                    
                        | 265 Handling Errors.mp4 | 63.44MB | 
                    
                        | 266 Using Subjects for Error Handling.en_US.srt | 3.11KB | 
                    
                        | 266 Using Subjects for Error Handling.mp4 | 18.57MB | 
                    
                        | 267 Using the catchError Operator.en_US.srt | 2.58KB | 
                    
                        | 267 Using the catchError Operator.mp4 | 14.94MB | 
                    
                        | 268 Error Handling & UX.en_US.srt | 2.76KB | 
                    
                        | 268 Error Handling & UX.mp4 | 15.21MB | 
                    
                        | 268 http-05-handling-errors.zip | 36.20KB | 
                    
                        | 269 http-06-headers.zip | 34.10KB | 
                    
                        | 269 Setting Headers.en_US.srt | 3.99KB | 
                    
                        | 269 Setting Headers.mp4 | 23.92MB | 
                    
                        | 270 Adding Query Params.en_US.srt | 5.17KB | 
                    
                        | 270 Adding Query Params.mp4 | 28.45MB | 
                    
                        | 270 http-07-query-params.zip | 35.82KB | 
                    
                        | 271 Observing Different Types of Responses.en_US.srt | 9.49KB | 
                    
                        | 271 Observing Different Types of Responses.mp4 | 75.17MB | 
                    
                        | 272 Changing the Response Body Type.en_US.srt | 4.10KB | 
                    
                        | 272 Changing the Response Body Type.mp4 | 23.80MB | 
                    
                        | 273 Introducing Interceptors.en_US.srt | 9.11KB | 
                    
                        | 273 Introducing Interceptors.mp4 | 44.00MB | 
                    
                        | 274 Manipulating Request Objects.en_US.srt | 3.01KB | 
                    
                        | 274 Manipulating Request Objects.mp4 | 15.47MB | 
                    
                        | 275 http-08-interceptor.zip | 36.65KB | 
                    
                        | 275 Response Interceptors.en_US.srt | 3.57KB | 
                    
                        | 275 Response Interceptors.mp4 | 21.08MB | 
                    
                        | 276 Multiple Interceptors.en_US.srt | 5.96KB | 
                    
                        | 276 Multiple Interceptors.mp4 | 49.41MB | 
                    
                        | 277 http-09-finished.zip | 21.07KB | 
                    
                        | 277 Wrap Up.en_US.srt | 2.39KB | 
                    
                        | 277 Wrap Up.mp4 | 13.27MB | 
                    
                        | 278 http-01-start.zip | 32.41KB | 
                    
                        | 278 http-02-post-requests.zip | 33.71KB | 
                    
                        | 278 http-03-get-and-transform-data.zip | 35.33KB | 
                    
                        | 278 http-04-loading-indicator.zip | 35.32KB | 
                    
                        | 278 http-05-handling-errors.zip | 36.20KB | 
                    
                        | 278 http-06-headers.zip | 1.68KB | 
                    
                        | 278 http-07-query-params.zip | 35.82KB | 
                    
                        | 278 http-08-interceptor.zip | 36.65KB | 
                    
                        | 278 http-09-finished.zip | 21.07KB | 
                    
                        | 278 Useful Resources & Links.html | 665B | 
                    
                        | 279 Module Introduction.en_US.srt | 1.11KB | 
                    
                        | 279 Module Introduction.mp4 | 2.88MB | 
                    
                        | 280 Backend (Firebase) Setup.en_US.srt | 2.51KB | 
                    
                        | 280 Backend (Firebase) Setup.mp4 | 16.43MB | 
                    
                        | 281 Setting Up the DataStorage Service.en_US.srt | 6.79KB | 
                    
                        | 281 Setting Up the DataStorage Service.mp4 | 40.98MB | 
                    
                        | 282 Storing Recipes.en_US.srt | 8.45KB | 
                    
                        | 282 Storing Recipes.mp4 | 47.10MB | 
                    
                        | 283 Fetching Recipes.en_US.srt | 7.15KB | 
                    
                        | 283 Fetching Recipes.mp4 | 43.10MB | 
                    
                        | 283 prj-http-01-save-and-fetch-recipes.zip | 76.94KB | 
                    
                        | 284 Transforming Response Data.en_US.srt | 5.25KB | 
                    
                        | 284 Transforming Response Data.mp4 | 32.57MB | 
                    
                        | 285 Resolving Data Before Loading.en_US.srt | 8.90KB | 
                    
                        | 285 Resolving Data Before Loading.mp4 | 57.28MB | 
                    
                        | 286 Fixing a Bug with the Resolver.en_US.srt | 1.95KB | 
                    
                        | 286 Fixing a Bug with the Resolver.mp4 | 11.39MB | 
                    
                        | 286 prj-http-02-finished.zip | 82.79KB | 
                    
                        | 287 Module Introduction.en_US.srt | 1.12KB | 
                    
                        | 287 Module Introduction.mp4 | 1.26MB | 
                    
                        | 288 How Authentication Works.en_US.srt | 6.64KB | 
                    
                        | 288 How Authentication Works.mp4 | 9.27MB | 
                    
                        | 289 Adding the Auth Page.en_US.srt | 8.02KB | 
                    
                        | 289 Adding the Auth Page.mp4 | 43.03MB | 
                    
                        | 289 auth-01-auth-component.zip | 76.16KB | 
                    
                        | 290 Switching Between Auth Modes.en_US.srt | 5.75KB | 
                    
                        | 290 Switching Between Auth Modes.mp4 | 19.57MB | 
                    
                        | 291 auth-02-auth-form.zip | 74.52KB | 
                    
                        | 291 Handling Form Input.en_US.srt | 4.64KB | 
                    
                        | 291 Handling Form Input.mp4 | 23.79MB | 
                    
                        | 292 Preparing the Backend.en_US.srt | 4.23KB | 
                    
                        | 292 Preparing the Backend.mp4 | 13.35MB | 
                    
                        | 293 Make sure you got Recipes in your backend!.html | 798B | 
                    
                        | 294 Preparing the Signup Request.en_US.srt | 10.94KB | 
                    
                        | 294 Preparing the Signup Request.mp4 | 88.81MB | 
                    
                        | 295 Sending the Signup Request.en_US.srt | 5.89KB | 
                    
                        | 295 Sending the Signup Request.mp4 | 31.53MB | 
                    
                        | 296 Adding a Loading Spinner & Error Handling Logic.en_US.srt | 8.39KB | 
                    
                        | 296 Adding a Loading Spinner & Error Handling Logic.mp4 | 67.32MB | 
                    
                        | 296 auth-03-signup-request.zip | 80.60KB | 
                    
                        | 297 Improving Error Handling.en_US.srt | 6.98KB | 
                    
                        | 297 Improving Error Handling.mp4 | 61.19MB | 
                    
                        | 298 auth-04-added-login.zip | 80.55KB | 
                    
                        | 298 Sending Login Requests.en_US.srt | 7.37KB | 
                    
                        | 298 Sending Login Requests.mp4 | 67.94MB | 
                    
                        | 299 Login Error Handling.en_US.srt | 5.38KB | 
                    
                        | 299 Login Error Handling.mp4 | 49.33MB | 
                    
                        | 300 Creating & Storing the User Data.en_US.srt | 12.47KB | 
                    
                        | 300 Creating & Storing the User Data.mp4 | 103.98MB | 
                    
                        | 301 Reflecting the Auth State in the UI.en_US.srt | 12.67KB | 
                    
                        | 301 Reflecting the Auth State in the UI.mp4 | 95.69MB | 
                    
                        | 302 Adding the Token to Outgoing Requests.en_US.srt | 12.37KB | 
                    
                        | 302 Adding the Token to Outgoing Requests.mp4 | 107.69MB | 
                    
                        | 303 Attaching the Token with an Interceptor.en_US.srt | 9.60KB | 
                    
                        | 303 Attaching the Token with an Interceptor.mp4 | 91.16MB | 
                    
                        | 303 auth-05-added-token-to-requests.zip | 85.52KB | 
                    
                        | 304 Adding Logout.en_US.srt | 4.12KB | 
                    
                        | 304 Adding Logout.mp4 | 22.49MB | 
                    
                        | 304 auth-06-logout.zip | 79.98KB | 
                    
                        | 305 Adding Auto-Login.en_US.srt | 12.48KB | 
                    
                        | 305 Adding Auto-Login.mp4 | 100.53MB | 
                    
                        | 306 Adding Auto-Logout.en_US.srt | 9.61KB | 
                    
                        | 306 Adding Auto-Logout.mp4 | 57.90MB | 
                    
                        | 306 auth-07-autologin-autologout.zip | 85.74KB | 
                    
                        | 307 Adding an Auth Guard.en_US.srt | 13.07KB | 
                    
                        | 307 Adding an Auth Guard.mp4 | 79.12MB | 
                    
                        | 308 auth-08-finished.zip | 82.04KB | 
                    
                        | 308 Wrap Up.en_US.srt | 2.53KB | 
                    
                        | 308 Wrap Up.mp4 | 14.86MB | 
                    
                        | 309 auth-01-auth-component.zip | 76.16KB | 
                    
                        | 309 auth-02-auth-form.zip | 74.52KB | 
                    
                        | 309 auth-03-signup-request.zip | 80.60KB | 
                    
                        | 309 auth-04-added-login.zip | 80.55KB | 
                    
                        | 309 auth-05-added-token-to-requests.zip | 85.52KB | 
                    
                        | 309 auth-06-logout.zip | 79.98KB | 
                    
                        | 309 auth-07-autologin-autologout.zip | 85.74KB | 
                    
                        | 309 auth-08-finished.zip | 82.04KB | 
                    
                        | 309 Useful Resources & Links.html | 836B | 
                    
                        | 310 Module Introduction.en_US.srt | 1.28KB | 
                    
                        | 310 Module Introduction.mp4 | 1.82MB | 
                    
                        | 311 Adding an Alert Modal Component.en_US.srt | 8.65KB | 
                    
                        | 311 Adding an Alert Modal Component.mp4 | 50.97MB | 
                    
                        | 312 Understanding the Different Approaches.en_US.srt | 3.34KB | 
                    
                        | 312 Understanding the Different Approaches.mp4 | 5.67MB | 
                    
                        | 313 Using ngIf.en_US.srt | 3.71KB | 
                    
                        | 313 Using ngIf.mp4 | 16.24MB | 
                    
                        | 314 Preparing Programmatic Creation.en_US.srt | 10.93KB | 
                    
                        | 314 Preparing Programmatic Creation.mp4 | 60.95MB | 
                    
                        | 315 Creating a Component Programmatically.en_US.srt | 6.34KB | 
                    
                        | 315 Creating a Component Programmatically.mp4 | 37.38MB | 
                    
                        | 316 Understanding entryComponents.en_US.srt | 8.88KB | 
                    
                        | 316 Understanding entryComponents.mp4 | 68.96MB | 
                    
                        | 317 Data Binding & Event Binding.en_US.srt | 6.22KB | 
                    
                        | 317 Data Binding & Event Binding.mp4 | 40.86MB | 
                    
                        | 318 Wrap Up.en_US.srt | 2.00KB | 
                    
                        | 318 Wrap Up.mp4 | 9.65MB | 
                    
                        | 319 dyn-cmp-finished.zip | 87.33KB | 
                    
                        | 319 Useful Resources & Links.html | 705B | 
                    
                        | 320 Module Introduction.en_US.srt | 725B | 
                    
                        | 320 Module Introduction.mp4 | 1.14MB | 
                    
                        | 321 What are Modules_.en_US.srt | 3.02KB | 
                    
                        | 321 What are Modules_.mp4 | 6.91MB | 
                    
                        | 322 Analyzing the AppModule.en_US.srt | 8.64KB | 
                    
                        | 322 Analyzing the AppModule.mp4 | 97.79MB | 
                    
                        | 323 Getting Started with Feature Modules.en_US.srt | 11.36KB | 
                    
                        | 323 Getting Started with Feature Modules.mp4 | 113.92MB | 
                    
                        | 323 opt-mod-01-feature-module.zip | 47.84KB | 
                    
                        | 324 Splitting Modules Correctly.en_US.srt | 5.42KB | 
                    
                        | 324 Splitting Modules Correctly.mp4 | 31.37MB | 
                    
                        | 325 Adding Routes to Feature Modules.en_US.srt | 5.20KB | 
                    
                        | 325 Adding Routes to Feature Modules.mp4 | 35.68MB | 
                    
                        | 325 opt-mod-02-routing-module.zip | 48.29KB | 
                    
                        | 326 Component Declarations.en_US.srt | 2.34KB | 
                    
                        | 326 Component Declarations.mp4 | 26.25MB | 
                    
                        | 327 The ShoppingList Feature Module.en_US.srt | 5.48KB | 
                    
                        | 327 The ShoppingList Feature Module.mp4 | 63.00MB | 
                    
                        | 328 opt-mod-03-shared-module.zip | 48.93KB | 
                    
                        | 328 Understanding Shared Modules.en_US.srt | 10.49KB | 
                    
                        | 328 Understanding Shared Modules.mp4 | 80.22MB | 
                    
                        | 329 opt-mod-04-core-module.zip | 48.88KB | 
                    
                        | 329 Understanding the Core Module.en_US.srt | 7.21KB | 
                    
                        | 329 Understanding the Core Module.mp4 | 36.27MB | 
                    
                        | 330 Adding an Auth Feature Module.en_US.srt | 5.28KB | 
                    
                        | 330 Adding an Auth Feature Module.mp4 | 32.54MB | 
                    
                        | 331 Understanding Lazy Loading.en_US.srt | 3.33KB | 
                    
                        | 331 Understanding Lazy Loading.mp4 | 5.39MB | 
                    
                        | 332 Implementing Lazy Loading.en_US.srt | 15.84KB | 
                    
                        | 332 Implementing Lazy Loading.mp4 | 164.05MB | 
                    
                        | 332 opt-mod-05-lazy-loading.zip | 95.47KB | 
                    
                        | 333 More Lazy Loading.en_US.srt | 3.57KB | 
                    
                        | 333 More Lazy Loading.mp4 | 21.72MB | 
                    
                        | 334 Preloading Lazy-Loaded Code.en_US.srt | 4.54KB | 
                    
                        | 334 Preloading Lazy-Loaded Code.mp4 | 35.91MB | 
                    
                        | 335 Modules & Services.en_US.srt | 7.52KB | 
                    
                        | 335 Modules & Services.mp4 | 14.18MB | 
                    
                        | 336 Loading Services Differently.en_US.srt | 10.70KB | 
                    
                        | 336 Loading Services Differently.mp4 | 61.45MB | 
                    
                        | 337 Ahead-of-Time Compilation.en_US.srt | 12.71KB | 
                    
                        | 337 Ahead-of-Time Compilation.mp4 | 87.91MB | 
                    
                        | 338 opt-mod-06-finished.zip | 94.49KB | 
                    
                        | 338 Wrap Up.en_US.srt | 1005B | 
                    
                        | 338 Wrap Up.mp4 | 5.37MB | 
                    
                        | 339 opt-mod-01-feature-module.zip | 47.84KB | 
                    
                        | 339 opt-mod-02-routing-module.zip | 48.29KB | 
                    
                        | 339 opt-mod-03-shared-module.zip | 48.93KB | 
                    
                        | 339 opt-mod-04-core-module.zip | 48.88KB | 
                    
                        | 339 opt-mod-05-lazy-loading.zip | 95.47KB | 
                    
                        | 339 opt-mod-06-finished.zip | 94.49KB | 
                    
                        | 339 Useful Resources & Links.html | 838B | 
                    
                        | 340 Module Introduction.en_US.srt | 1.03KB | 
                    
                        | 340 Module Introduction.mp4 | 1.21MB | 
                    
                        | 341 Deployment Preparation & Steps.en_US.srt | 4.12KB | 
                    
                        | 341 Deployment Preparation & Steps.mp4 | 6.79MB | 
                    
                        | 342 Using Environment Variables.en_US.srt | 5.96KB | 
                    
                        | 342 Using Environment Variables.mp4 | 39.17MB | 
                    
                        | 343 Deployment Example_ Firebase Hosting.en_US.srt | 11.90KB | 
                    
                        | 343 Deployment Example_ Firebase Hosting.mp4 | 37.84MB | 
                    
                        | 343 deployment-finished.zip | 98.24KB | 
                    
                        | 344 deployment-finished.zip | 98.24KB | 
                    
                        | 344 Server Routing vs Browser Routing.html | 894B | 
                    
                        | 345 Module Introduction.en_US.srt | 2.25KB | 
                    
                        | 345 Module Introduction.mp4 | 4.11MB | 
                    
                        | 346 01-starting-project.zip | 212.03KB | 
                    
                        | 346 Starting Setup & Why We Want Standalone Components.en_US.srt | 7.66KB | 
                    
                        | 346 Starting Setup & Why We Want Standalone Components.mp4 | 26.07MB | 
                    
                        | 347 Building a First Standalone Component.en_US.srt | 15.33KB | 
                    
                        | 347 Building a First Standalone Component.mp4 | 68.45MB | 
                    
                        | 348 Standalone Directives & Connecting Building Blocks.en_US.srt | 3.75KB | 
                    
                        | 348 Standalone Directives & Connecting Building Blocks.mp4 | 13.88MB | 
                    
                        | 349 Migrating Another Component.en_US.srt | 2.84KB | 
                    
                        | 349 Migrating Another Component.mp4 | 8.59MB | 
                    
                        | 350 A Standalone Root Component.en_US.srt | 6.73KB | 
                    
                        | 350 A Standalone Root Component.mp4 | 30.67MB | 
                    
                        | 351 02-migrated-cmp.zip | 211.81KB | 
                    
                        | 351 Services & Standalone Components.en_US.srt | 6.41KB | 
                    
                        | 351 Services & Standalone Components.mp4 | 22.63MB | 
                    
                        | 352 03-starting-with-routing.zip | 216.99KB | 
                    
                        | 352 Routing with Standalone Components.en_US.srt | 10.34KB | 
                    
                        | 352 Routing with Standalone Components.mp4 | 78.32MB | 
                    
                        | 353 Lazy Loading.en_US.srt | 12.40KB | 
                    
                        | 353 Lazy Loading.mp4 | 46.86MB | 
                    
                        | 354 04-finished.zip | 215.32KB | 
                    
                        | 354 Summary.en_US.srt | 2.88KB | 
                    
                        | 354 Summary.mp4 | 9.35MB | 
                    
                        | 355 Module Introduction.en_US.srt | 854B | 
                    
                        | 355 Module Introduction.mp4 | 977.53KB | 
                    
                        | 356 What is Application State_.en_US.srt | 11.40KB | 
                    
                        | 356 What is Application State_.mp4 | 65.86MB | 
                    
                        | 357 What is NgRx_.en_US.srt | 8.83KB | 
                    
                        | 357 What is NgRx_.mp4 | 17.39MB | 
                    
                        | 358 Getting Started with Reducers.en_US.srt | 8.54KB | 
                    
                        | 358 Getting Started with Reducers.mp4 | 71.41MB | 
                    
                        | 359 Adding Logic to the Reducer.en_US.srt | 7.57KB | 
                    
                        | 359 Adding Logic to the Reducer.mp4 | 36.96MB | 
                    
                        | 359 ngrx-01-first-reducer.zip | 96.63KB | 
                    
                        | 360 Understanding & Adding Actions.en_US.srt | 7.66KB | 
                    
                        | 360 Understanding & Adding Actions.mp4 | 37.44MB | 
                    
                        | 361 ngrx-02-added-store.zip | 97.55KB | 
                    
                        | 361 Setting Up the NgRx Store.en_US.srt | 5.71KB | 
                    
                        | 361 Setting Up the NgRx Store.mp4 | 37.65MB | 
                    
                        | 362 Selecting State.en_US.srt | 11.33KB | 
                    
                        | 362 Selecting State.mp4 | 104.15MB | 
                    
                        | 363 Dispatching Actions.en_US.srt | 9.19KB | 
                    
                        | 363 Dispatching Actions.mp4 | 79.53MB | 
                    
                        | 364 Multiple Actions.en_US.srt | 11.93KB | 
                    
                        | 364 Multiple Actions.mp4 | 76.11MB | 
                    
                        | 364 ngrx-03-added-actions.zip | 98.71KB | 
                    
                        | 365 Preparing Update & Delete Actions.en_US.srt | 3.93KB | 
                    
                        | 365 Preparing Update & Delete Actions.mp4 | 25.95MB | 
                    
                        | 366 Updating & Deleting Ingredients.en_US.srt | 13.74KB | 
                    
                        | 366 Updating & Deleting Ingredients.mp4 | 81.31MB | 
                    
                        | 367 Expanding the State.en_US.srt | 10.57KB | 
                    
                        | 367 Expanding the State.mp4 | 76.63MB | 
                    
                        | 368 Managing More State via NgRx.en_US.srt | 11.66KB | 
                    
                        | 368 Managing More State via NgRx.mp4 | 113.71MB | 
                    
                        | 368 ngrx-04-finished-shopping-list.zip | 105.47KB | 
                    
                        | 369 Removing Redundant Component State Management.en_US.srt | 4.09KB | 
                    
                        | 369 Removing Redundant Component State Management.mp4 | 29.72MB | 
                    
                        | 370 First Summary & Clean Up.en_US.srt | 6.45KB | 
                    
                        | 370 First Summary & Clean Up.mp4 | 43.87MB | 
                    
                        | 371 One Root State.en_US.srt | 14.22KB | 
                    
                        | 371 One Root State.mp4 | 159.50MB | 
                    
                        | 372 Setting Up Auth Reducer & Actions.en_US.srt | 10.33KB | 
                    
                        | 372 Setting Up Auth Reducer & Actions.mp4 | 88.59MB | 
                    
                        | 373 Dispatching Auth Actions.en_US.srt | 7.14KB | 
                    
                        | 373 Dispatching Auth Actions.mp4 | 74.55MB | 
                    
                        | 374 Auth Finished (For Now...).en_US.srt | 8.00KB | 
                    
                        | 374 Auth Finished (For Now...).mp4 | 88.94MB | 
                    
                        | 374 ngrx-05-auth-without-effects.zip | 105.88KB | 
                    
                        | 375 And Important Note on Actions.en_US.srt | 7.81KB | 
                    
                        | 375 And Important Note on Actions.mp4 | 66.73MB | 
                    
                        | 376 Exploring NgRx Effects.en_US.srt | 4.92KB | 
                    
                        | 376 Exploring NgRx Effects.mp4 | 30.09MB | 
                    
                        | 377 Defining the First Effect.en_US.srt | 6.23KB | 
                    
                        | 377 Defining the First Effect.mp4 | 35.19MB | 
                    
                        | 378 Effects & Error Handling.en_US.srt | 10.91KB | 
                    
                        | 378 Effects & Error Handling.mp4 | 106.56MB | 
                    
                        | 379 Login via NgRx Effects.en_US.srt | 10.60KB | 
                    
                        | 379 Login via NgRx Effects.mp4 | 111.88MB | 
                    
                        | 380 Managing UI State in NgRx.en_US.srt | 9.13KB | 
                    
                        | 380 Managing UI State in NgRx.mp4 | 89.43MB | 
                    
                        | 381 Finishing the Login Effect.en_US.srt | 8.37KB | 
                    
                        | 381 Finishing the Login Effect.mp4 | 102.30MB | 
                    
                        | 381 ngrx-06-login-effect.zip | 103.95KB | 
                    
                        | 382 Preparing Other Auth Actions.en_US.srt | 4.40KB | 
                    
                        | 382 Preparing Other Auth Actions.mp4 | 34.27MB | 
                    
                        | 383 Adding Signup.en_US.srt | 7.04KB | 
                    
                        | 383 Adding Signup.mp4 | 81.01MB | 
                    
                        | 384 Further Auth Effects.en_US.srt | 7.21KB | 
                    
                        | 384 Further Auth Effects.mp4 | 104.73MB | 
                    
                        | 385 Adding Auto-Login with NgRx.en_US.srt | 8.94KB | 
                    
                        | 385 Adding Auto-Login with NgRx.mp4 | 104.70MB | 
                    
                        | 386 Adding Auto-Logout.en_US.srt | 6.81KB | 
                    
                        | 386 Adding Auto-Logout.mp4 | 82.00MB | 
                    
                        | 386 ngrx-07-localstorage-effects.zip | 108.25KB | 
                    
                        | 387 Finishing the Auth Effects.en_US.srt | 2.86KB | 
                    
                        | 387 Finishing the Auth Effects.mp4 | 48.50MB | 
                    
                        | 387 ngrx-08-auth-finished.zip | 104.08KB | 
                    
                        | 388 Using the Store Devtools.en_US.srt | 7.09KB | 
                    
                        | 388 Using the Store Devtools.mp4 | 37.77MB | 
                    
                        | 389 ngrx-09-devtools-and-routing.zip | 107.63KB | 
                    
                        | 389 The Router Store.en_US.srt | 2.50KB | 
                    
                        | 389 The Router Store.mp4 | 15.55MB | 
                    
                        | 390 Getting Started with NgRx for Recipes.en_US.srt | 12.76KB | 
                    
                        | 390 Getting Started with NgRx for Recipes.mp4 | 120.70MB | 
                    
                        | 391 Fetching Recipe Detail Data.en_US.srt | 10.55KB | 
                    
                        | 391 Fetching Recipe Detail Data.mp4 | 112.28MB | 
                    
                        | 392 Fetching Recipes & Using the Resolver.en_US.srt | 13.37KB | 
                    
                        | 392 Fetching Recipes & Using the Resolver.mp4 | 191.13MB | 
                    
                        | 392 ngrx-10-fetch-recipes-effect.zip | 111.85KB | 
                    
                        | 393 Fixing the Auth Redirect.en_US.srt | 2.28KB | 
                    
                        | 393 Fixing the Auth Redirect.mp4 | 26.84MB | 
                    
                        | 394 Update, Delete and Add Recipes.en_US.srt | 16.20KB | 
                    
                        | 394 Update, Delete and Add Recipes.mp4 | 106.39MB | 
                    
                        | 395 ngrx-11-recipe-crud.zip | 107.84KB | 
                    
                        | 395 Storing Recipes via Effects.en_US.srt | 6.02KB | 
                    
                        | 395 Storing Recipes via Effects.mp4 | 71.77MB | 
                    
                        | 396 Cleanup Work.en_US.srt | 2.04KB | 
                    
                        | 396 Cleanup Work.mp4 | 17.50MB | 
                    
                        | 397 ngrx-12-finished.zip | 103.70KB | 
                    
                        | 397 Wrap Up.en_US.srt | 2.34KB | 
                    
                        | 397 Wrap Up.mp4 | 27.74MB | 
                    
                        | 398 Alternative NgRx Syntax.html | 1.88KB | 
                    
                        | 398 ngrx-create-functions-syntax.zip | 112.22KB | 
                    
                        | 399 ngrx-01-first-reducer.zip | 96.63KB | 
                    
                        | 399 ngrx-02-added-store.zip | 97.55KB | 
                    
                        | 399 ngrx-03-added-actions.zip | 98.71KB | 
                    
                        | 399 ngrx-04-finished-shopping-list.zip | 105.47KB | 
                    
                        | 399 ngrx-05-auth-without-effects.zip | 105.88KB | 
                    
                        | 399 ngrx-06-login-effect.zip | 103.95KB | 
                    
                        | 399 ngrx-07-localstorage-effects.zip | 108.25KB | 
                    
                        | 399 ngrx-08-auth-finished.zip | 104.08KB | 
                    
                        | 399 ngrx-09-devtools-and-routing.zip | 107.63KB | 
                    
                        | 399 ngrx-10-fetch-recipes-effect.zip | 111.85KB | 
                    
                        | 399 ngrx-11-recipe-crud.zip | 107.84KB | 
                    
                        | 399 ngrx-12-finished.zip | 103.70KB | 
                    
                        | 399 Useful Resources & Links.html | 639B | 
                    
                        | 400 Module Introduction.en_US.srt | 4.26KB | 
                    
                        | 400 Module Introduction.mp4 | 6.47MB | 
                    
                        | 400 ng-universal-01-start.zip | 106.37KB | 
                    
                        | 401 Angular Universal & ModuleMapLoader.html | 701B | 
                    
                        | 402 Adding Angular Universal.en_US.srt | 13.58KB | 
                    
                        | 402 Adding Angular Universal.mp4 | 92.08MB | 
                    
                        | 402 ng-universal-02-finished.zip | 112.04KB | 
                    
                        | 403 Adding Angular Universal with NestJS.en_US.srt | 8.53KB | 
                    
                        | 403 Adding Angular Universal with NestJS.mp4 | 45.53MB | 
                    
                        | 403 Learn-more-about-NestJS.txt | 57B | 
                    
                        | 403 ng-universal-03-nestjs.zip | 113.04KB | 
                    
                        | 404 Deploying Universal Apps.html | 1.54KB | 
                    
                        | 405 Important_ Remaining Lectures.html | 945B | 
                    
                        | 406 Module Introduction.en_US.srt | 1.99KB | 
                    
                        | 406 Module Introduction.mp4 | 3.84MB | 
                    
                        | 407 Getting Started with Angular Universal.en_US.srt | 1.96KB | 
                    
                        | 407 Getting Started with Angular Universal.mp4 | 11.69MB | 
                    
                        | 408 Working on the App Module.en_US.srt | 4.94KB | 
                    
                        | 408 Working on the App Module.mp4 | 32.55MB | 
                    
                        | 409 Adding a Server-Side Build Workflow.en_US.srt | 5.95KB | 
                    
                        | 409 Adding a Server-Side Build Workflow.mp4 | 76.37MB | 
                    
                        | 410 Adding a NodeJS Server.en_US.srt | 10.77KB | 
                    
                        | 410 Adding a NodeJS Server.mp4 | 116.41MB | 
                    
                        | 411 Pre-Rendering the App on the Server.en_US.srt | 5.13KB | 
                    
                        | 411 Pre-Rendering the App on the Server.mp4 | 55.58MB | 
                    
                        | 412 Next Steps.en_US.srt | 2.19KB | 
                    
                        | 412 Next Steps.mp4 | 13.22MB | 
                    
                        | 413 Angular Universal Gotchas.html | 1.38KB | 
                    
                        | 414 Making Animations Work with Angular 4+.html | 1.61KB | 
                    
                        | 415 Introduction.en_US.srt | 1.40KB | 
                    
                        | 415 Introduction.mp4 | 5.92MB | 
                    
                        | 416 animations-start.zip | 38.65KB | 
                    
                        | 416 Setting up the Starting Project.en_US.srt | 1.26KB | 
                    
                        | 416 Setting up the Starting Project.mp4 | 4.14MB | 
                    
                        | 417 Animations Triggers and State.en_US.srt | 9.28KB | 
                    
                        | 417 Animations Triggers and State.mp4 | 108.74MB | 
                    
                        | 418 Switching between States.en_US.srt | 2.69KB | 
                    
                        | 418 Switching between States.mp4 | 18.22MB | 
                    
                        | 419 Transitions.en_US.srt | 2.40KB | 
                    
                        | 419 Transitions.mp4 | 10.33MB | 
                    
                        | 420 Advanced Transitions.en_US.srt | 6.48KB | 
                    
                        | 420 Advanced Transitions.mp4 | 47.32MB | 
                    
                        | 421 Transition Phases.en_US.srt | 4.72KB | 
                    
                        | 421 Transition Phases.mp4 | 35.84MB | 
                    
                        | 422 The _void_ State.en_US.srt | 7.67KB | 
                    
                        | 422 The _void_ State.mp4 | 93.38MB | 
                    
                        | 423 Using Keyframes for Animations.en_US.srt | 6.34KB | 
                    
                        | 423 Using Keyframes for Animations.mp4 | 48.85MB | 
                    
                        | 424 Grouping Transitions.en_US.srt | 2.72KB | 
                    
                        | 424 Grouping Transitions.mp4 | 14.85MB | 
                    
                        | 425 animations-finished.zip | 39.71KB | 
                    
                        | 425 Using Animation Callbacks.en_US.srt | 3.10KB | 
                    
                        | 425 Using Animation Callbacks.mp4 | 40.39MB | 
                    
                        | 426 Module Introduction.en_US.srt | 2.79KB | 
                    
                        | 426 Module Introduction.mp4 | 20.98MB | 
                    
                        | 426 ng-pwa-01-start.zip | 37.34KB | 
                    
                        | 427 Adding Service Workers.en_US.srt | 17.16KB | 
                    
                        | 427 Adding Service Workers.mp4 | 351.27MB | 
                    
                        | 428 Caching Assets for Offline Use.en_US.srt | 7.54KB | 
                    
                        | 428 Caching Assets for Offline Use.mp4 | 43.21MB | 
                    
                        | 429 Caching Dynamic Assets & URLs.en_US.srt | 9.65KB | 
                    
                        | 429 Caching Dynamic Assets & URLs.mp4 | 113.03MB | 
                    
                        | 429 ng-pwa-02-finished.zip | 61.12KB | 
                    
                        | 430 Further Links & Resources.html | 827B | 
                    
                        | 430 ng-pwa-02-finished.zip | 61.12KB | 
                    
                        | 431 About this Section.html | 834B | 
                    
                        | 432 Introduction.en_US.srt | 1.76KB | 
                    
                        | 432 Introduction.mp4 | 4.70MB | 
                    
                        | 433 Why Unit Tests_.en_US.srt | 3.09KB | 
                    
                        | 433 Why Unit Tests_.mp4 | 8.69MB | 
                    
                        | 434 Analyzing the Testing Setup (as created by the CLI).en_US.srt | 10.32KB | 
                    
                        | 434 Analyzing the Testing Setup (as created by the CLI).mp4 | 61.23MB | 
                    
                        | 435 Running Tests (with the CLI).en_US.srt | 2.47KB | 
                    
                        | 435 Running Tests (with the CLI).mp4 | 43.21MB | 
                    
                        | 436 Adding a Component and some fitting Tests.en_US.srt | 7.58KB | 
                    
                        | 436 Adding a Component and some fitting Tests.mp4 | 92.24MB | 
                    
                        | 437 Testing Dependencies_ Components and Services.en_US.srt | 7.93KB | 
                    
                        | 437 Testing Dependencies_ Components and Services.mp4 | 65.36MB | 
                    
                        | 438 Simulating Async Tasks.en_US.srt | 11.45KB | 
                    
                        | 438 Simulating Async Tasks.mp4 | 157.89MB | 
                    
                        | 439 Using _fakeAsync_ and _tick_.en_US.srt | 2.83KB | 
                    
                        | 439 Using _fakeAsync_ and _tick_.mp4 | 37.57MB | 
                    
                        | 440 Isolated vs Non-Isolated Tests.en_US.srt | 7.56KB | 
                    
                        | 440 Isolated vs Non-Isolated Tests.mp4 | 93.46MB | 
                    
                        | 441 Further Resources & Where to Go Next.html | 1.77KB | 
                    
                        | 441 testing-final.zip | 41.58KB | 
                    
                        | 442 Module Introduction.en_US.srt | 2.35KB | 
                    
                        | 442 Module Introduction.mp4 | 3.25MB | 
                    
                        | 443 A Closer Look at _ng new_.en_US.srt | 7.29KB | 
                    
                        | 443 A Closer Look at _ng new_.mp4 | 67.74MB | 
                    
                        | 444 IDE & Project Setup.en_US.srt | 3.66KB | 
                    
                        | 444 IDE & Project Setup.mp4 | 14.19MB | 
                    
                        | 445 Getting-Started-with-Git.txt | 52B | 
                    
                        | 445 Understanding the Config Files.en_US.srt | 12.72KB | 
                    
                        | 445 Understanding the Config Files.mp4 | 94.80MB | 
                    
                        | 446 Important CLI Commands.en_US.srt | 7.75KB | 
                    
                        | 446 Important CLI Commands.mp4 | 54.85MB | 
                    
                        | 447 The _angular.json_ File - A Closer Look.en_US.srt | 16.13KB | 
                    
                        | 447 The _angular.json_ File - A Closer Look.mp4 | 118.07MB | 
                    
                        | 448 Angular Schematics - An Introduction.en_US.srt | 2.26KB | 
                    
                        | 448 Angular Schematics - An Introduction.mp4 | 12.08MB | 
                    
                        | 449 The _ng add_ Command.en_US.srt | 6.03KB | 
                    
                        | 449 The _ng add_ Command.mp4 | 31.90MB | 
                    
                        | 450 Using Custom _ng generate_ Schematics.en_US.srt | 4.23KB | 
                    
                        | 450 Using Custom _ng generate_ Schematics.mp4 | 29.83MB | 
                    
                        | 451 Smooth Updating of Projects with _ng update_.en_US.srt | 3.02KB | 
                    
                        | 451 Smooth Updating of Projects with _ng update_.mp4 | 11.04MB | 
                    
                        | 452 Simplified Deployment with _ng deploy_.en_US.srt | 7.57KB | 
                    
                        | 452 Simplified Deployment with _ng deploy_.mp4 | 49.86MB | 
                    
                        | 453 Understanding _Differential Loading_.en_US.srt | 7.10KB | 
                    
                        | 453 Understanding _Differential Loading_.mp4 | 49.89MB | 
                    
                        | 454 Managing Multiple Projects in One Folder.en_US.srt | 5.93KB | 
                    
                        | 454 Managing Multiple Projects in One Folder.mp4 | 36.70MB | 
                    
                        | 455 Angular Libraries - An Introduction.en_US.srt | 3.78KB | 
                    
                        | 455 Angular Libraries - An Introduction.mp4 | 27.16MB | 
                    
                        | 456 Wrap Up.en_US.srt | 1.97KB | 
                    
                        | 456 Wrap Up.mp4 | 17.27MB | 
                    
                        | 457 A First Look At Angular Elements.en_US.srt | 21.01KB | 
                    
                        | 457 A First Look At Angular Elements.mp4 | 243.08MB | 
                    
                        | 458 Course Roundup.en_US.srt | 2.12KB | 
                    
                        | 458 Course Roundup.mp4 | 9.67MB | 
                    
                        | 459 Bonus_ More Content!.html | 1.52KB | 
                    
                        | 460 Module Introduction.en_US.srt | 1.70KB | 
                    
                        | 460 Module Introduction.mp4 | 1.89MB | 
                    
                        | 461 What & Why_.en_US.srt | 8.88KB | 
                    
                        | 461 What & Why_.mp4 | 13.05MB | 
                    
                        | 462 Installing & Using TypeScript.en_US.srt | 8.93KB | 
                    
                        | 462 Installing & Using TypeScript.mp4 | 50.91MB | 
                    
                        | 463 Base Types & Primitives.en_US.srt | 5.42KB | 
                    
                        | 463 Base Types & Primitives.mp4 | 14.10MB | 
                    
                        | 464 Array & Object Types.en_US.srt | 8.06KB | 
                    
                        | 464 Array & Object Types.mp4 | 17.54MB | 
                    
                        | 465 Type Inference.en_US.srt | 3.68KB | 
                    
                        | 465 Type Inference.mp4 | 8.09MB | 
                    
                        | 466 Working with Union Types.en_US.srt | 3.95KB | 
                    
                        | 466 Working with Union Types.mp4 | 8.21MB | 
                    
                        | 467 Assigning Type Aliases.en_US.srt | 3.75KB | 
                    
                        | 467 Assigning Type Aliases.mp4 | 9.15MB | 
                    
                        | 468 Diving into Functions & Function Types.en_US.srt | 7.07KB | 
                    
                        | 468 Diving into Functions & Function Types.mp4 | 19.26MB | 
                    
                        | 469 Understanding Generics.en_US.srt | 10.48KB | 
                    
                        | 469 Understanding Generics.mp4 | 36.14MB | 
                    
                        | 470 Classes & TypeScript.en_US.srt | 11.18KB | 
                    
                        | 470 Classes & TypeScript.mp4 | 28.35MB | 
                    
                        | 471 Working with Interfaces.en_US.srt | 8.36KB | 
                    
                        | 471 Working with Interfaces.mp4 | 16.06MB | 
                    
                        | 472 Configuring the TypeScript Compiler.en_US.srt | 3.72KB | 
                    
                        | 472 Configuring the TypeScript Compiler.mp4 | 38.22MB | 
                    
                        | 473 Module Resources.html | 798B | 
                    
                        | 473 typescript-intro-01-finished.zip | 5.23KB |