// 新建一个文件 import {CanDeactivate} from '@angular/router' import {AppComponent} from "../app.component"; /** * 处理用户离开 * 接收一个泛型 */ export class OutGuard implements CanDeactivate<AppComponent>{ // component 里面保存着AppComponent的数据 canDeactivate(component:AppComponent){ return window.confirm('您还没有保存确定要离开吗?') } }
修改路由的配置
{path:'home',component:HomeComponent,children:[ {path:'',component:IndexComponent} ],canActivate:[LoginGuard],canDeactivate:[OutGuard]},
providers:[LoginGuard,OutGuard]