The document discusses Angular modules, directives, and components. Angular modules help organize an application into blocks of functionality using the @NgModule annotation. There are three types of directives - components, attribute directives, and structural directives. Components are a subset of directives that use the @Component annotation and define templates to specify elements and logic on a page. The metadata definitions for @NgModule, @Directive, and @Component are also described.
"Angular 2: core concepts" by Fabio Biondi, Matteo Ronchi.
Angular 2 risolve problematiche e lacune della precedente versione, prestando particolare attenzione alle performance, al supporto mobile e alla qualità e leggibilità del codice prodotto. In questo talk verranno illustrate le funzionalità più significative tra cui: - nuova architettura totalmente orientata ai componenti - rimozione di $scope e del dirty checking ($digest) - adozione di un flow unidirezionale - utilizzo di Typescript, ES6 o ES5 - completa rivisitazione del motore di Dependency Injection - nuove procedure per il bootstrap dell’applicazione.
Building scalable modular app with Angular2 conceptkzw
Scalability is one of the most important concept in software development for ease of maintenance and reducing development cost. With angular2 modular approach, we can apply scalability on project size.
Tech Webinar: Angular 2, Introduction to a new frameworkCodemotion
Fabio Biondi e Matteo Ronchi ci presentano AngularJS 2, analizzando la nuova sintassi per la creazione di componenti che ora assumono un ruolo fondamentale all’interno del framework.
Iscriviti qui per partecipare ad altri Tech Webinar: http://goo.gl/iW81VD
Scrivici a training@codemotion.it
Tw: @codemotionTR
"Angular 2: core concepts" by Fabio Biondi, Matteo Ronchi.
Angular 2 risolve problematiche e lacune della precedente versione, prestando particolare attenzione alle performance, al supporto mobile e alla qualità e leggibilità del codice prodotto. In questo talk verranno illustrate le funzionalità più significative tra cui: - nuova architettura totalmente orientata ai componenti - rimozione di $scope e del dirty checking ($digest) - adozione di un flow unidirezionale - utilizzo di Typescript, ES6 o ES5 - completa rivisitazione del motore di Dependency Injection - nuove procedure per il bootstrap dell’applicazione.
Building scalable modular app with Angular2 conceptkzw
Scalability is one of the most important concept in software development for ease of maintenance and reducing development cost. With angular2 modular approach, we can apply scalability on project size.
Tech Webinar: Angular 2, Introduction to a new frameworkCodemotion
Fabio Biondi e Matteo Ronchi ci presentano AngularJS 2, analizzando la nuova sintassi per la creazione di componenti che ora assumono un ruolo fondamentale all’interno del framework.
Iscriviti qui per partecipare ad altri Tech Webinar: http://goo.gl/iW81VD
Scrivici a training@codemotion.it
Tw: @codemotionTR
AngularJS 1.3 is by far the best version of Angular available today. It was just released a few weeks ago. It's chock full of bug fixes, feature enhancements and performance improvements.
YouTube link: - https://youtu.be/bghVyCbxj6g
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016Codemotion
Angular 2 is a complete rewrite of the AngularJS framework, which introduces new approaches and leverages the latest technologies. Simplifying and generalizing core concepts, the performance is improved and the range of capabilities is broadened. In this session Shmuela will help you understand the core concepts of Angular 2 apps: the component-based architecture, dependency injection, change detection, and more.
Slide deck presented during my session on "Introduction to Angular 2" at UNICOM DevCon 2016 conference on Thursday, Dec 1, 2016. The conference was at Mövenpick Hotel & Spa, Bengaluru.
The evolution of Angular 2 @ AngularJS Munich Meetup #5Johannes Weber
The evolution of Angular 2
Angular 1 was born in 2009. Since that a lot of web standards are born and supported by most of the browsers natively. So it's time to use the new possibilities. That's how Angular 2 started. It's not just a major update. It's a whole rewrite!
The key theme of this talk it to get an overview of Angular 2. I’ll walk you through what you need to know to stay up to date, explain the main concepts behind A2 and the current state.
It is rounded off with some practical suggestions on how to proceed today - to make the transition from Angular 1.x to Angular 2.x easier.
Original slides with animated gifs can be found here: https://docs.google.com/presentation/d/122ptcLESkfSw8omK9ekG8FksD_zvegGrqOL2GR5PE80/edit?usp=sharing
Slides from my latest talk (and videos) about Angular dependency
injection, You can find related videos here: https://www.youtube.com/playlist?list=PLfZsWIHsTcftJl7WlidsXSBAHBXQBR4j2
Migrating an application from Angular 1 to Angular 2 Ross Dederer
Learn how to make the jump to Angular 2 with Wijmo’s JavaScript UI controls!
With the recent release of the Angular 2 Beta, you’re probably asking if it’s worth it to make the jump from Angular 1. During this talk, we’ll share some tips and tricks on migration, as well as concepts that we learned along the way when migrating from Angular 1 to Angular 2. Wijmo has been developing controls in Angular 1 for quite some time now, and migrating our controls to the new Angular 2 beta was a pretty straightforward process.
You’ll learn:
Introduction to TypeScript and Angular 2.0 beta
The process of converting a Microsoft MVVM-featured application (the Microsoft DataServices QuickStart sample) from Angular 1.x to Angular 2.0, including:
How to convert business logic from JavaScript to the more C#-like TypeScript language
About the component and companion template role syntax using plain HTML and Wijmo controls (including Angular 2 FlexGrid and Input controls)
Additional tips and tricks to enhance your experience in Visual Studio
Probabilmente il framework javascript più atteso di sempre, evoluzione di uno dei framework più longevi ed usati nello sviluppo front end. Si vedranno alcune delle novità introdotte e delle scelte radicali fatte da Google per la nuova versione di Angular
AngularJS 1.3 is by far the best version of Angular available today. It was just released a few weeks ago. It's chock full of bug fixes, feature enhancements and performance improvements.
YouTube link: - https://youtu.be/bghVyCbxj6g
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016Codemotion
Angular 2 is a complete rewrite of the AngularJS framework, which introduces new approaches and leverages the latest technologies. Simplifying and generalizing core concepts, the performance is improved and the range of capabilities is broadened. In this session Shmuela will help you understand the core concepts of Angular 2 apps: the component-based architecture, dependency injection, change detection, and more.
Slide deck presented during my session on "Introduction to Angular 2" at UNICOM DevCon 2016 conference on Thursday, Dec 1, 2016. The conference was at Mövenpick Hotel & Spa, Bengaluru.
The evolution of Angular 2 @ AngularJS Munich Meetup #5Johannes Weber
The evolution of Angular 2
Angular 1 was born in 2009. Since that a lot of web standards are born and supported by most of the browsers natively. So it's time to use the new possibilities. That's how Angular 2 started. It's not just a major update. It's a whole rewrite!
The key theme of this talk it to get an overview of Angular 2. I’ll walk you through what you need to know to stay up to date, explain the main concepts behind A2 and the current state.
It is rounded off with some practical suggestions on how to proceed today - to make the transition from Angular 1.x to Angular 2.x easier.
Original slides with animated gifs can be found here: https://docs.google.com/presentation/d/122ptcLESkfSw8omK9ekG8FksD_zvegGrqOL2GR5PE80/edit?usp=sharing
Slides from my latest talk (and videos) about Angular dependency
injection, You can find related videos here: https://www.youtube.com/playlist?list=PLfZsWIHsTcftJl7WlidsXSBAHBXQBR4j2
Migrating an application from Angular 1 to Angular 2 Ross Dederer
Learn how to make the jump to Angular 2 with Wijmo’s JavaScript UI controls!
With the recent release of the Angular 2 Beta, you’re probably asking if it’s worth it to make the jump from Angular 1. During this talk, we’ll share some tips and tricks on migration, as well as concepts that we learned along the way when migrating from Angular 1 to Angular 2. Wijmo has been developing controls in Angular 1 for quite some time now, and migrating our controls to the new Angular 2 beta was a pretty straightforward process.
You’ll learn:
Introduction to TypeScript and Angular 2.0 beta
The process of converting a Microsoft MVVM-featured application (the Microsoft DataServices QuickStart sample) from Angular 1.x to Angular 2.0, including:
How to convert business logic from JavaScript to the more C#-like TypeScript language
About the component and companion template role syntax using plain HTML and Wijmo controls (including Angular 2 FlexGrid and Input controls)
Additional tips and tricks to enhance your experience in Visual Studio
Probabilmente il framework javascript più atteso di sempre, evoluzione di uno dei framework più longevi ed usati nello sviluppo front end. Si vedranno alcune delle novità introdotte e delle scelte radicali fatte da Google per la nuova versione di Angular
Introduction
Require JS
Handlebars
Conclusions
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2015.
http://www.ivanomalavolta.com
Introduction
Require JS
Handlebars
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2014.
http://www.ivanomalavolta.com
1. Angular Components:
Component Configuration, Building a Template, Using Constructors, Using External Templates, Angular Routing to Single Page Application (SPA)
2. Data Binding:
Introduction, Interpolation, Property Binding, Attribute Binding, Class Binding, Style Binding, Event Binding, Two-way Binding.
Presentation about new Angular 9.
It gives introduction about angular framework.
Provides information about why we use angular,
additional features and fixes from old versions. It will clearly explain how to create a new angular project and how to use angular commands and their usages.
It will also explain about the key components like angular architecture, routing, dependency injection etc.,
Are you ready to embark on an exciting journey into web development? Angular for Beginners is a comprehensive introductory course designed to empower you with the skills and knowledge needed to build dynamic and responsive web applications using the Angular framework.
Angular, developed and maintained by Google, is a powerful front-end framework that simplifies the process of building robust and feature-rich single-page applications. This course is specifically tailored for individuals with little to no prior experience in web development, providing a gentle and hands-on introduction to Angular's core concepts and principles.
Key Learning Objectives:
Introduction to Web Development:
Explore the fundamental concepts of web development, including HTML, CSS, and JavaScript.
Understand the role of front-end frameworks in building modern web applications.
Getting Started with Angular:
Set up your development environment and create your first Angular project.
Familiarize yourself with the Angular CLI (Command Line Interface).
Understanding Angular Architecture:
Learn about the building blocks of Angular applications, including components, modules, and services.
Grasp the concept of data binding and how it facilitates communication between components.
Templates and Directives:
Dive into Angular templates and explore the usage of directives for dynamic content rendering.
Understand the role of structural directives like *ngIf and *ngFor.
Component Communication:
Master the art of communication between Angular components using input and output properties.
Explore the concept of parent-child and sibling component communication.
Forms and User Input:
Learn how to create reactive forms and handle user input effectively.
Validate and submit forms using Angular's form handling capabilities.
Routing and Navigation:
Implement client-side navigation using Angular Router.
Understand how to create and navigate between multiple views in a single-page application.
Services and Dependency Injection:
Explore the role of services in Angular applications.
Understand the concept of dependency injection and how it promotes code reusability.
Introduction to HTTP and Observables:
Communicate with a server using Angular's HttpClient module.
Handle asynchronous operations with Observables.
Deployment and Best Practices:
Learn how to deploy your Angular application to a hosting platform.
Explore best practices for structuring and maintaining Angular code.
By the end of this course, you will have gained a solid foundation in Angular and be well-equipped to take your first steps in the world of web development. Join us on this exciting journey, and let's build amazing web applications together!
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
5. Modules
01
02
04
Angular Modules help organize an application into cohesive blocks of functionality.
Annotation
@NgModule
Tells Angular how to process a class.
6. Modules
01
02
04
Angular Modules help organize an application into cohesive blocks of functionality.
Annotation
@NgModule
Tells Angular how to process a class.
7. Modules
01
02
04
Angular Modules help organize an application into cohesive blocks of functionality.
Metadata Definitions
Annotation
@NgModule
Tells Angular how to process a class.
8. bootstrap?: Array<Type<any> | any[]>
Modules
01
02
04
Angular Modules help organize an application into cohesive blocks of functionality.
Metadata Definitions
Annotation
@NgModule
Tells Angular how to process a class.
Components that should be bootstrapped when this module is
bootstrapped.
9. bootstrap?: Array<Type<any> | any[]>
Modules
01
02
04
Angular Modules help organize an application into cohesive blocks of functionality.
Metadata Definitions
Annotation
@NgModule
Tells Angular how to process a class.
imports?: Array<Type<any> | ModuleWithProviders | any[]>
Components that should be bootstrapped when this module is
bootstrapped.
List of modules whose exported directives/pipes should be available
to templates in this module.
10. bootstrap?: Array<Type<any> | any[]>
Modules
01
02
04
Angular Modules help organize an application into cohesive blocks of functionality.
Metadata Definitions
Annotation
@NgModule
Tells Angular how to process a class.
imports?: Array<Type<any> | ModuleWithProviders | any[]>
providers?: Provider[]
Components that should be bootstrapped when this module is
bootstrapped.
List of modules whose exported directives/pipes should be available
to templates in this module.
Set of injectable objects that are available in the injector of module.
11. bootstrap?: Array<Type<any> | any[]>
Modules
01
02
04
Angular Modules help organize an application into cohesive blocks of functionality.
Metadata Definitions
Annotation
@NgModule
Tells Angular how to process a class.
imports?: Array<Type<any> | ModuleWithProviders | any[]>
providers?: Provider[]
exports?: Array<Type<any> | any[]>
Components that should be bootstrapped when this module is
bootstrapped.
List of modules whose exported directives/pipes should be available
to templates in this module.
Set of injectable objects that are available in the injector of module.
List of directives/pipes/modules that can be use within the template of any
component that is part of an Angular module.
12. bootstrap?: Array<Type<any> | any[]>
Modules
01
02
04
Angular Modules help organize an application into cohesive blocks of functionality.
Metadata Definitions
Annotation
@NgModule
Tells Angular how to process a class.
imports?: Array<Type<any> | ModuleWithProviders | any[]>
providers?: Provider[]
exports?: Array<Type<any> | any[]>
declarations?: Array<Type<any> | any[]>
Components that should be bootstrapped when this module is
bootstrapped.
List of modules whose exported directives/pipes should be available
to templates in this module.
Set of injectable objects that are available in the injector of module.
List of directives/pipes/modules that can be use within the template of any
component that is part of an Angular module.
List of directives/pipes that belong to module.
13. bootstrap?: Array<Type<any> | any[]>
Modules
01
02
04
Angular Modules help organize an application into cohesive blocks of functionality.
Metadata Definitions
Annotation
@NgModule
Tells Angular how to process a class.
imports?: Array<Type<any> | ModuleWithProviders | any[]>
providers?: Provider[]
exports?: Array<Type<any> | any[]>
declarations?: Array<Type<any> | any[]>
entryComponents?: Array<Type<any> | any[]>
Components that should be bootstrapped when this module is
bootstrapped.
List of modules whose exported directives/pipes should be available
to templates in this module.
Set of injectable objects that are available in the injector of module.
List of directives/pipes/modules that can be use within the template of any
component that is part of an Angular module.
List of directives/pipes that belong to module.
List of components that should be compiled when this module is defined.
14. bootstrap?: Array<Type<any> | any[]>
Modules
01
02
04
Angular Modules help organize an application into cohesive blocks of functionality.
Metadata Definitions
Annotation
@NgModule
Tells Angular how to process a class.
imports?: Array<Type<any> | ModuleWithProviders | any[]>
providers?: Provider[]
exports?: Array<Type<any> | any[]>
declarations?: Array<Type<any> | any[]>
entryComponents?: Array<Type<any> | any[]>
Components that should be bootstrapped when this module is
bootstrapped.
List of modules whose exported directives/pipes should be available
to templates in this module.
Set of injectable objects that are available in the injector of module.
List of directives/pipes/modules that can be use within the template of any
component that is part of an Angular module.
List of directives/pipes that belong to module.
List of components that should be compiled when this module is defined.
20. CSS selector that identifies this component in a template.selector?: string
Directives
04
@Directive
Angular Directives allow you to attach behavior to elements in the DOM.
Metadata Definitions
Annotation
21. CSS selector that identifies this component in a template.selector?: string
Directives
04
@Directive
Class:
`.class`
C
Angular Directives allow you to attach behavior to elements in the DOM.
Metadata Definitions
Annotation
22. CSS selector that identifies this component in a template.selector?: string
Directives
04
@Directive
Class:
`.class`
C
Attribute:
`[attribute]`
A
Angular Directives allow you to attach behavior to elements in the DOM.
Metadata Definitions
Annotation
23. CSS selector that identifies this component in a template.selector?: string
Directives
04
@Directive
Class:
`.class`
C
Attribute:
`[attribute]`
A
Name :
`element-name`
N
Angular Directives allow you to attach behavior to elements in the DOM.
Metadata Definitions
Annotation
24. CSS selector that identifies this component in a template.selector?: string
Directives
04
@Directive
Class:
`.class`
C
Attribute:
`[attribute]`
A
Name :
`element-name`
N
Attribute & Value :
`[attribute=value]`
VA
Angular Directives allow you to attach behavior to elements in the DOM.
Metadata Definitions
Annotation
25. CSS selector that identifies this component in a template.selector?: string
Directives
04
@Directive
Class:
`.class`
C
Attribute:
`[attribute]`
A
Name :
`element-name`
N
Attribute & Value :
`[attribute=value]`
VA
Selectors :
`selector1, selector2`
S
Angular Directives allow you to attach behavior to elements in the DOM.
Metadata Definitions
Annotation
26. CSS selector that identifies this component in a template.selector?: string
Directives
04
@Directive
Class:
`.class`
C
Attribute:
`[attribute]`
A
Name :
`element-name`
N
Attribute & Value :
`[attribute=value]`
VA
Selectors :
`selector1, selector2`
S
Angular Directives allow you to attach behavior to elements in the DOM.
Metadata Definitions
Annotation
queries?: { [key: string]: any; } Configure queries that can be injected into the component.
27. CSS selector that identifies this component in a template.selector?: string
Directives
04
@Directive
Class:
`.class`
C
Attribute:
`[attribute]`
A
Name :
`element-name`
N
Attribute & Value :
`[attribute=value]`
VA
Selectors :
`selector1, selector2`
S
Angular Directives allow you to attach behavior to elements in the DOM.
Metadata Definitions
Annotation
queries?: { [key: string]: any; } Configure queries that can be injected into the component.
host?: { [key: string]: string; } Map of class property to host element bindings for events, properties and attributes.
28. CSS selector that identifies this component in a template.selector?: string
Directives
04
@Directive
Class:
`.class`
C
Attribute:
`[attribute]`
A
Name :
`element-name`
N
Attribute & Value :
`[attribute=value]`
VA
Selectors :
`selector1, selector2`
S
Angular Directives allow you to attach behavior to elements in the DOM.
Metadata Definitions
Annotation
queries?: { [key: string]: any; } Configure queries that can be injected into the component.
host?: { [key: string]: string; } Map of class property to host element bindings for events, properties and attributes.
inputs?: string[] List of class property names to data-bind as component inputs.
29. CSS selector that identifies this component in a template.selector?: string
Directives
04
@Directive
Class:
`.class`
C
Attribute:
`[attribute]`
A
Name :
`element-name`
N
Attribute & Value :
`[attribute=value]`
VA
Selectors :
`selector1, selector2`
S
Angular Directives allow you to attach behavior to elements in the DOM.
Metadata Definitions
Annotation
queries?: { [key: string]: any; } Configure queries that can be injected into the component.
host?: { [key: string]: string; } Map of class property to host element bindings for events, properties and attributes.
outputs?: string[] List of class property names that expose output events that others can subscribe to.
inputs?: string[] List of class property names to data-bind as component inputs.
30. CSS selector that identifies this component in a template.selector?: string
Directives
04
@Directive
Class:
`.class`
C
Attribute:
`[attribute]`
A
Name :
`element-name`
N
Attribute & Value :
`[attribute=value]`
VA
Selectors :
`selector1, selector2`
S
Angular Directives allow you to attach behavior to elements in the DOM.
Metadata Definitions
Annotation
queries?: { [key: string]: any; } Configure queries that can be injected into the component.
host?: { [key: string]: string; } Map of class property to host element bindings for events, properties and attributes.
outputs?: string[] List of class property names that expose output events that others can subscribe to.
inputs?: string[] List of class property names to data-bind as component inputs.
providers?: Provider[] List of providers available to this component and its children.
31. CSS selector that identifies this component in a template.selector?: string
Directives
04
@Directive
Class:
`.class`
C
Attribute:
`[attribute]`
A
Name :
`element-name`
N
Attribute & Value :
`[attribute=value]`
VA
Selectors :
`selector1, selector2`
S
Angular Directives allow you to attach behavior to elements in the DOM.
Metadata Definitions
Annotation
queries?: { [key: string]: any; } Configure queries that can be injected into the component.
host?: { [key: string]: string; } Map of class property to host element bindings for events, properties and attributes.
outputs?: string[] List of class property names that expose output events that others can subscribe to.
inputs?: string[] List of class property names to data-bind as component inputs.
providers?: Provider[] List of providers available to this component and its children.
exportAs?: string Name under which the component instance is exported in a template.
32. CSS selector that identifies this component in a template.selector?: string
Directives
04
@Directive
Class:
`.class`
C
Attribute:
`[attribute]`
A
Name :
`element-name`
N
Attribute & Value :
`[attribute=value]`
VA
Selectors :
`selector1, selector2`
S
Angular Directives allow you to attach behavior to elements in the DOM.
Metadata Definitions
Annotation
queries?: { [key: string]: any; } Configure queries that can be injected into the component.
host?: { [key: string]: string; } Map of class property to host element bindings for events, properties and attributes.
outputs?: string[] List of class property names that expose output events that others can subscribe to.
inputs?: string[] List of class property names to data-bind as component inputs.
providers?: Provider[] List of providers available to this component and its children.
exportAs?: string Name under which the component instance is exported in a template.
33. CSS selector that identifies this component in a template.selector?: string
Directives
04
@Directive
Class:
`.class`
C
Attribute:
`[attribute]`
A
Name :
`element-name`
N
Attribute & Value :
`[attribute=value]`
VA
Selectors :
`selector1, selector2`
S
Angular Directives allow you to attach behavior to elements in the DOM.
Metadata Definitions
Annotation
queries?: { [key: string]: any; } Configure queries that can be injected into the component.
host?: { [key: string]: string; } Map of class property to host element bindings for events, properties and attributes.
outputs?: string[] List of class property names that expose output events that others can subscribe to.
inputs?: string[] List of class property names to data-bind as component inputs.
providers?: Provider[] List of providers available to this component and its children.
exportAs?: string Name under which the component instance is exported in a template.
There are three kinds of Angular directives: Components, Attribute directives and Structural directives.
35. Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Angular components are a subset of directives.
36. Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Annotation
Angular components are a subset of directives.
37. Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Annotation
@Component
Tells Angular how to process a class.
Angular components are a subset of directives.
38. Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Annotation
@Component
Tells Angular how to process a class.
Angular components are a subset of directives.
39. Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Metadata Definitions
Annotation
@Component
Tells Angular how to process a class.
Angular components are a subset of directives.
40. List of providers available to this component and its view children.viewProviders?: Provider[]
Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Metadata Definitions
Annotation
@Component
Tells Angular how to process a class.
Angular components are a subset of directives.
41. List of providers available to this component and its view children.viewProviders?: Provider[]
Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Metadata Definitions
Annotation
@Component
Tells Angular how to process a class.
Angular components are a subset of directives.
interpolation?: [string, string] Custom interpolation markers used in this component's template {{}}.
42. List of providers available to this component and its view children.viewProviders?: Provider[]
Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Metadata Definitions
Annotation
@Component
Tells Angular how to process a class.
Angular components are a subset of directives.
interpolation?: [string, string] Custom interpolation markers used in this component's template {{}}.
templateUrl?: string Url to an external file containing a template for the view.
43. List of providers available to this component and its view children.viewProviders?: Provider[]
Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Metadata Definitions
Annotation
@Component
Tells Angular how to process a class.
Angular components are a subset of directives.
interpolation?: [string, string] Custom interpolation markers used in this component's template {{}}.
templateUrl?: string Url to an external file containing a template for the view.
template?: string Inline-defined template for the view.
44. List of providers available to this component and its view children.viewProviders?: Provider[]
Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Metadata Definitions
Annotation
@Component
Tells Angular how to process a class.
Angular components are a subset of directives.
interpolation?: [string, string] Custom interpolation markers used in this component's template {{}}.
templateUrl?: string Url to an external file containing a template for the view.
entryComponents?: Array<Type<any> | any[]> List of components that are dynamically inserted into the view.
template?: string Inline-defined template for the view.
45. List of providers available to this component and its view children.viewProviders?: Provider[]
Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Metadata Definitions
Annotation
@Component
Tells Angular how to process a class.
Angular components are a subset of directives.
interpolation?: [string, string] Custom interpolation markers used in this component's template {{}}.
templateUrl?: string Url to an external file containing a template for the view.
entryComponents?: Array<Type<any> | any[]> List of components that are dynamically inserted into the view.
template?: string Inline-defined template for the view.
changeDetection?:ChangeDetectionStrategy Change detection strategy used by this component (OnPush, Default).
46. List of providers available to this component and its view children.viewProviders?: Provider[]
Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Metadata Definitions
Annotation
@Component
Tells Angular how to process a class.
Angular components are a subset of directives.
interpolation?: [string, string] Custom interpolation markers used in this component's template {{}}.
templateUrl?: string Url to an external file containing a template for the view.
entryComponents?: Array<Type<any> | any[]> List of components that are dynamically inserted into the view.
template?: string Inline-defined template for the view.
changeDetection?:ChangeDetectionStrategy Change detection strategy used by this component (OnPush, Default).
animations?: AnimationEntryMetadata[] List of animations of this component.
47. List of providers available to this component and its view children.viewProviders?: Provider[]
Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Metadata Definitions
Annotation
@Component
Tells Angular how to process a class.
Angular components are a subset of directives.
interpolation?: [string, string] Custom interpolation markers used in this component's template {{}}.
templateUrl?: string Url to an external file containing a template for the view.
entryComponents?: Array<Type<any> | any[]> List of components that are dynamically inserted into the view.
template?: string Inline-defined template for the view.
changeDetection?:ChangeDetectionStrategy Change detection strategy used by this component (OnPush, Default).
styleUrls?: string[] List of urls to stylesheets to be applied to this component's view.
animations?: AnimationEntryMetadata[] List of animations of this component.
48. List of providers available to this component and its view children.viewProviders?: Provider[]
Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Metadata Definitions
Annotation
@Component
Tells Angular how to process a class.
Angular components are a subset of directives.
interpolation?: [string, string] Custom interpolation markers used in this component's template {{}}.
templateUrl?: string Url to an external file containing a template for the view.
entryComponents?: Array<Type<any> | any[]> List of components that are dynamically inserted into the view.
template?: string Inline-defined template for the view.
changeDetection?:ChangeDetectionStrategy Change detection strategy used by this component (OnPush, Default).
styles?: string[] Inline-defined styles to be applied to this component's view.
styleUrls?: string[] List of urls to stylesheets to be applied to this component's view.
animations?: AnimationEntryMetadata[] List of animations of this component.
49. List of providers available to this component and its view children.viewProviders?: Provider[]
Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Metadata Definitions
Annotation
@Component
Tells Angular how to process a class.
Angular components are a subset of directives.
interpolation?: [string, string] Custom interpolation markers used in this component's template {{}}.
templateUrl?: string Url to an external file containing a template for the view.
entryComponents?: Array<Type<any> | any[]> List of components that are dynamically inserted into the view.
template?: string Inline-defined template for the view.
changeDetection?:ChangeDetectionStrategy Change detection strategy used by this component (OnPush, Default).
styles?: string[] Inline-defined styles to be applied to this component's view.
encapsulation?: ViewEncapsulation Style encapsulation strategy used by this component (Native, Emulated, None)
styleUrls?: string[] List of urls to stylesheets to be applied to this component's view.
animations?: AnimationEntryMetadata[] List of animations of this component.
50. List of providers available to this component and its view children.viewProviders?: Provider[]
Components
04
Angular Components are the main way we build and specify elements and logic on the page.
Metadata Definitions
Annotation
@Component
Tells Angular how to process a class.
Angular components are a subset of directives.
interpolation?: [string, string] Custom interpolation markers used in this component's template {{}}.
templateUrl?: string Url to an external file containing a template for the view.
entryComponents?: Array<Type<any> | any[]> List of components that are dynamically inserted into the view.
template?: string Inline-defined template for the view.
changeDetection?:ChangeDetectionStrategy Change detection strategy used by this component (OnPush, Default).
styles?: string[] Inline-defined styles to be applied to this component's view.
encapsulation?: ViewEncapsulation Style encapsulation strategy used by this component (Native, Emulated, None)
styleUrls?: string[] List of urls to stylesheets to be applied to this component's view.
animations?: AnimationEntryMetadata[] List of animations of this component.
51. Component Lifecycle
A component has a lifecycle managed by Angular itself.
Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them.
52. Component Lifecycle
A component has a lifecycle managed by Angular itself.
Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them.
53. Component Lifecycle
A component has a lifecycle managed by Angular itself.
Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them.
54. Component Lifecycle
A component has a lifecycle managed by Angular itself.
Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them.
Called before ngOnInit
and whenever one or
more data-bound input
properties change.
1 ngOnChanges
55. Component Lifecycle
A component has a lifecycle managed by Angular itself.
Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them.
Called before ngOnInit
and whenever one or
more data-bound input
properties change.
1 ngOnChanges
Called once, after the
first ngOnChanges.
2 ngOnInit
56. Component Lifecycle
A component has a lifecycle managed by Angular itself.
Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them.
Called before ngOnInit
and whenever one or
more data-bound input
properties change.
1 ngOnChanges
Called once, after the
first ngOnChanges.
2 ngOnInit
Called during every change
detection run, immediately
after ngOnChanges and
ngOnInit.
3 ngDoCheck
57. Component Lifecycle
A component has a lifecycle managed by Angular itself.
Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them.
Called before ngOnInit
and whenever one or
more data-bound input
properties change.
1 ngOnChanges
Called once, after the
first ngOnChanges.
2 ngOnInit
Called during every change
detection run, immediately
after ngOnChanges and
ngOnInit.
3 ngDoCheck
Respond after Angular
projects external content
into the component's view.
4 ngAfterContentInit
58. Component Lifecycle
A component has a lifecycle managed by Angular itself.
Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them.
Called before ngOnInit
and whenever one or
more data-bound input
properties change.
1 ngOnChanges
Called once, after the
first ngOnChanges.
2 ngOnInit
Called during every change
detection run, immediately
after ngOnChanges and
ngOnInit.
3 ngDoCheck
Respond after Angular
projects external content
into the component's view.
4 ngAfterContentInit
Respond after Angular checks the
content projected into the
component.
5 ngAfterContentChecked
59. Component Lifecycle
A component has a lifecycle managed by Angular itself.
Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them.
Called before ngOnInit
and whenever one or
more data-bound input
properties change.
1 ngOnChanges
Called once, after the
first ngOnChanges.
2 ngOnInit
Called during every change
detection run, immediately
after ngOnChanges and
ngOnInit.
3 ngDoCheck
Respond after Angular
projects external content
into the component's view.
4 ngAfterContentInit
Respond after Angular initializes the
component's views and child views.
6 ngAfterViewInit
Respond after Angular checks the
content projected into the
component.
5 ngAfterContentChecked
60. Component Lifecycle
A component has a lifecycle managed by Angular itself.
Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them.
Called before ngOnInit
and whenever one or
more data-bound input
properties change.
1 ngOnChanges
Called once, after the
first ngOnChanges.
2 ngOnInit
Called during every change
detection run, immediately
after ngOnChanges and
ngOnInit.
3 ngDoCheck
Respond after Angular
projects external content
into the component's view.
4 ngAfterContentInit
Respond after Angular initializes the
component's views and child views.
6 ngAfterViewInit
Respond after Angular
checks the component's
views and child views.
7 ngAfterViewChecked
Respond after Angular checks the
content projected into the
component.
5 ngAfterContentChecked
61. Component Lifecycle
A component has a lifecycle managed by Angular itself.
Angular calls lifecycle hook methods on directives and components as it creates, changes, and destroys them.
Called before ngOnInit
and whenever one or
more data-bound input
properties change.
1 ngOnChanges
Called once, after the
first ngOnChanges.
2 ngOnInit
Called during every change
detection run, immediately
after ngOnChanges and
ngOnInit.
3 ngDoCheck
Respond after Angular
projects external content
into the component's view.
4 ngAfterContentInit
Respond after Angular initializes the
component's views and child views.
6 ngAfterViewInit
Respond after Angular
checks the component's
views and child views.
7 ngAfterViewChecked
Called just before
Angular destroys the
directive/component.
8 ngOnDestroy
Respond after Angular checks the
content projected into the
component.
5 ngAfterContentChecked
62. Basic Application
An Angular application is a tree of components.
Every Angular application has at least one module: the root module.
63. Basic Application
An Angular application is a tree of components.
Every Angular application has at least one module: the root module.
01Create the root
module*
64. Basic Application
An Angular application is a tree of components.
Every Angular application has at least one module: the root module.
*By convention it's a class called AppModule in a file named app.module.ts.
01Create the root
module*
65. Basic Application
An Angular application is a tree of components.
Every Angular application has at least one module: the root module.
*By convention it's a class called AppModule in a file named app.module.ts.
01Create the root
module*
02Create the entry
component of
module
66. Basic Application
An Angular application is a tree of components.
Every Angular application has at least one module: the root module.
*By convention it's a class called AppModule in a file named app.module.ts.
01Create the root
module*
02Create the entry
component of
module
03Bootstrap the root
module
83. Expressions
Angular expressions employs a subset of JavaScript syntax supplemented with a few special
operators for specific scenarios.
{{expression}}
((expression))
84. Expressions
Angular expressions employs a subset of JavaScript syntax supplemented with a few special
operators for specific scenarios.
{{expression}}
((expression))
85. Expressions
Angular expressions employs a subset of JavaScript syntax supplemented with a few special
operators for specific scenarios.
{{expression}}
((expression))
86. Expressions
Angular expressions employs a subset of JavaScript syntax supplemented with a few special
operators for specific scenarios.
{{expression}}
((expression))
Angular Tech Session 1+2 = {{1 +2}} | 1 + 2 = 3
87. Expressions
Angular expressions employs a subset of JavaScript syntax supplemented with a few special
operators for specific scenarios.
{{expression}}
((expression))
Angular Tech Session 1+2 = {{1 +2}} | 1 + 2 = 3
There are some restrictions for literals used in interpolation (INTERPOLATION_BLACKLIST_REGEXPS).
104. Services
Services are substitutable objects that are wired together using
dependency injection (DI).
Share code across an application.
01Create a class.
105. Services
Services are substitutable objects that are wired together using
dependency injection (DI).
Share code across an application.
01Create a class.
02Import Injectable
function and applied
that function as an
@Injectable()
decorator.
106. Services
Services are substitutable objects that are wired together using
dependency injection (DI).
Share code across an application.
01Create a class.
02Import Injectable
function and applied
that function as an
@Injectable()
decorator.
03Import and register
service.
107. Services
Services are substitutable objects that are wired together using
dependency injection (DI).
Share code across an application.
01Create a class.
02Import Injectable
function and applied
that function as an
@Injectable()
decorator.
03Import and register
service.
SUGGESTION: ADD @INJECTABLE() TO EVERY SERVICE CLASS.
112. Dependency Injection (DI)
The Angular injector subsystem is in charge of creating components, resolving their
dependencies, and providing them to other components as requested.
113. Dependency Injection (DI)
The Angular injector subsystem is in charge of creating components, resolving their
dependencies, and providing them to other components as requested.
Angular creates an application-wide injector for us during the bootstrap process.
An Injector is itself an injectable service.
114. Dependency Injection (DI)
The Angular injector subsystem is in charge of creating components, resolving their
dependencies, and providing them to other components as requested.
Angular creates an application-wide injector for us during the bootstrap process.
An Injector is itself an injectable service.
Dependencies are singletons within the scope of an injector.
DI is an hierarchical injection system, which means that nested injectors can create
their own service instances.
115. Dependency Injection (DI)
The Angular injector subsystem is in charge of creating components, resolving their
dependencies, and providing them to other components as requested.
Angular creates an application-wide injector for us during the bootstrap process.
An Injector is itself an injectable service.
Dependencies are singletons within the scope of an injector.
DI is an hierarchical injection system, which means that nested injectors can create
their own service instances.
Every component has an injector.
(even if it shares that injector with another
component) and there may be many different
injector instances operating at different
levels of the component tree.
116. Dependency Injection (DI)
The Angular injector subsystem is in charge of creating components, resolving their
dependencies, and providing them to other components as requested.
Angular creates an application-wide injector for us during the bootstrap process.
An Injector is itself an injectable service.
Dependencies are singletons within the scope of an injector.
DI is an hierarchical injection system, which means that nested injectors can create
their own service instances.
Every component has an injector.
(even if it shares that injector with another
component) and there may be many different
injector instances operating at different
levels of the component tree.