import { ReuseTabMatchMode, ReuseTabService } from '@delon/abc'; export class StartupService { constructor( private reuseTabService: ReuseTabService, private inj: Injector) { } load(): Promise<any> { // only works with promises const pLoadData = new Promise(async (resolve, reject) => { // reuse-tab 是否重用頁面,把這個頁面排除了,因此只要跳轉到別的頁面 目標tab就會消失 this.reuseTabService.mode = ReuseTabMatchMode.URL; const excludes = new Array<RegExp>(); excludes.push(new RegExp('/target-route')); this.reuseTabService.excludes = excludes; resolve({}); }); return pLoadData; } }
feat(abc: reuse-tab): new reuse-tab component plans!git
this.router.navigateByUrl(`/target-route`,{ skipLocationChange:true });
skipLocationChange:Navigates without pushing a new state into history.
ng-alain的tab根據路由的history生成=>tab沒有關閉=生成了history=>要關閉tab,須要不保留history
關鍵詞:angular 4 route navigate without pushing a new state into history.github
NavigationExtrastypescript