WE ARE THE JSLEAGUE
Whoami
Frontend Developer, ThisDot Labs
organizer for ngBucharest
@ngBucharest
groups/angularjs.bucharest
1.1 Component architecture
1.2 Bindings & render flow
1.3 Component communication
The case for Angular
1 App, 3 Frameworks - Angular
The case for Angular
stuff here
Components
Module 1
The case for Angular
The case for Angular
The case for Angular
import { Component } from '@angular/core';
@Component({
selector: 'app-component',
template: '<h1> Hello, world! </h1>',
})
export class AppComponent {
name = 'Andrei';
logGreet() {
console.log(`Hello ${ this.name }`);
}
}
The case for Angular
<div>
<app-component></app-component>
</div>
<div>
<h1> Hello, world! </h1>
</div>
The case for Angular
@Component({
selector: 'app-component',
template: '<h1> Hello, world! </h1>',
})
<div>
<app-component></app-component>
<app-component></app-component>
<app-component></app-component>
</div>
<div>
<h1> Hello, world! </h1>
<h1> Hello, world! </h1>
<h1> Hello, world! </h1>
</div>
<div>
<h1> Hello, Andrei! </h1>
<h1> Hello, Andrei! </h1>
<h1> Hello, Andrei! </h1>
</div>
@Component({
selector: 'app-component',
template: '<h1> Hello, Andrei! </h1>',
})
The case for Angular
@Component({
selector: 'app-component',
template: '<h1> Hello, world! </h1>',
})
<div>
<app-component></app-component>
<app-component></app-component>
<app-component></app-component>
</div>
<div>
<h1> Hello, world! </h1>
<h1> Hello, world! </h1>
<h1> Hello, world! </h1>
</div>
<div>
<h1> Hello, Andrei! </h1>
<h1> Hello, Andrei! </h1>
<h1> Hello, Andrei! </h1>
</div>
@Component({
selector: 'app-component',
template: '<h1> Hello, Andrei! </h1>',
})
Change once, reflect everywhere
The case for Angular
@Component({
selector: 'app-component',
template: '<h1> Hello, world! </h1>',
})
<div>
<app-component></app-component>
<app-component></app-component>
<app-component></app-component>
</div>
<div>
<h1> Hello, world! </h1>
<h1> Hello, world! </h1>
<h1> Hello, world! </h1>
</div>
<div>
<h1> Hello, Andrei! </h1>
<h1> Hello, Andrei! </h1>
<h1> Hello, Andrei! </h1>
</div>
@Component({
selector: 'app-component',
template: '<h1> Hello, Andrei! </h1>',
})
Change once, reflect everywhere
The case for Angular
import { Component } from '@angular/core';
@Component({
selector: 'app-component',
template: '<h1> Hello, {{ name }}! </h1>',
})
export class AppComponent {
name = 'Andrei';
logGreet() {
console.log(`Hello ${ this.name }`);
}
}
<h1>
Hello, Andrei!
</h1>
The case for Angular
import { Component } from '@angular/core';
@Component({
selector: 'app-component',
template: `
<h1> Hello, {{ name }}! </h1>
<button (click)="logGreet()">GREET</button>
`,
})
export class AppComponent {
name = 'Andrei';
logGreet() {
console.log(`Hello ${ this.name }`);
}
}
<h1> Hello, {{ name }}! </h1>
<button (click)="logGreet()">
GREET
</button>
Module title
Module 2
Module subtitle
Module 2
stuff here
email here