typescript Angular 4的RouteReuse策略(经过测试)。这可用于记住特定组件的状态。例如 - 当某条路线是

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript Angular 4的RouteReuse策略(经过测试)。这可用于记住特定组件的状态。例如 - 当某条路线是相关的知识,希望对你有一定的参考价值。

import {ActivatedRouteSnapshot, DetachedRouteHandle} from "@angular/router";

export class Customreuse {

  handlers: {[key: string]: DetachedRouteHandle} = {};

  shouldDetach(route: ActivatedRouteSnapshot): boolean {
    return route.data && (route.data as any).shouldDetach;
  }

  store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void {
    console.debug('CustomReuseStrategy:store', route, handle);
    this.handlers[route.routeConfig.path] = handle;
  }

  shouldAttach(route: ActivatedRouteSnapshot): boolean {
    console.debug('CustomReuseStrategy:shouldAttach', route);
    return !!route.routeConfig && !!this.handlers[route.routeConfig.path];
  }

  retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle {
    console.debug('CustomReuseStrategy:retrieve', route);
    if (!route.routeConfig) return null;
    return this.handlers[route.routeConfig.path];
  }

  shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {
    console.debug('CustomReuseStrategy:shouldReuseRoute', future, curr);
    return future.routeConfig === curr.routeConfig;
  }

}

以上是关于typescript Angular 4的RouteReuse策略(经过测试)。这可用于记住特定组件的状态。例如 - 当某条路线是的主要内容,如果未能解决你的问题,请参考以下文章

在 Angular 2/4 中使用 typescript 动态创建 HTML 元素数组

typescript 4#todoapp-angular-ngrx

typescript 4#todoapp-angular-ngrx

typescript 4#todoapp-angular-ngrx

typescript 使用指令将控制集中在角4 #angular

将 Typescript 2.3 模块发布到 NPM 以供 Angular 4 使用