web-dave / angular_workshop

0 stars 0 forks source link

Create a Guard #15

Open web-dave opened 4 months ago

web-dave commented 4 months ago
leave.guard.ts ```ts import { BookNewComponent } from './../book-new/book-new.component'; import { CanDeactivateFn } from '@angular/router'; export const leaveGuard: CanDeactivateFn = (target: BookNewComponent) => { if (!target.isSaved()) { return window.confirm('Do you really want to cancel?'); } else { return true; } } ```
book.routes.ts ```ts { path: 'new', component: BookNewComponent, canDeactivate: [leaveGuard] } ```
book-new.component.ts ```ts isSaved() { return this.saved || !this.form.dirty; } ```
web-dave commented 3 weeks ago

NEXT