Skip to content

Instantly share code, notes, and snippets.

@Rome-H
Last active June 8, 2017 09:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Rome-H/ae957c98759c98d4018a0526d7f03372 to your computer and use it in GitHub Desktop.
Save Rome-H/ae957c98759c98d4018a0526d7f03372 to your computer and use it in GitHub Desktop.
@Component({
selector: 'newsletter',
changeDetection: ChangeDetectionStrategy.OnPush,
template: `
<fieldset class="newsletter">
<legend>Bots Newsletter</legend>
<h5>Hello {{firstName$ | async}}, if you like what you see - please enter your email below to subscribe:</h5>
<form>
<input #email type="email" name="email">
<input type="button" value="Subscribe"
(click)="subscribeToNewsletter(email)">
</form>
</fieldset>
`
})
export class NewsletterComponent implements OnInit {
firstName$: Observable<string>;
constructor(
private userService: UserService,
private newsletterService: NewsletterService
) {}
ngOnInit() {
this.firstName$ = this.userService.user$.map(user => user.firstName );
}
subscribeToNewsletter(email:string) {
this.newsletterService.subscribeToNewsletter(email)
.subscribe(
() => alert('Subscription successful ...'),
console.error);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment