Source Code & Resources PRO Lesson 1: Introduction PUBLIC Lesson 2: The Role of Components and Directives PUBLIC Lesson 3: When to Use Custom Components & Directives PRO Lesson 4: Building a Simple Component PRO Lesson 5: Building a Simple Directive PRO Lesson 6: Setting up Components and Directives PRO Lesson 7: Using @Input and @Output PRO Lesson 8: Using ElementRef and Renderer PRO Lesson 9: Understanding Content Projection PRO Lesson 10: Understanding @ViewChild and @ContentChild PRO Lesson 11: Building a Complex Component PRO Lesson 12: Listening for Events and Binding to Properties PRO Lesson 13: Building a Skeleton Card Component PRO Lesson 14: Creating an Autogrow Directive for a Textarea PRO Lesson 15: Handling Error Messages with a Custom Component PRO Lesson 16: Building a Parallax Header Directive PRO Lesson 17: High Performance Accordion Component PRO Lesson 18: Conclusion PRO