自用零散博文-route_state.ts

route_state.ts文件

import {Data, ResolveData, Route} from './config';
import {PRIMARY_OUTLET, Params} from './shared';
import {UrlSegment, UrlSegmentGroup, UrlTree} from './url_tree';
import {merge, shallowEqual, shallowEqualArrays} from './utils/collection';
import {Tree, TreeNode} from './utils/tree';

export class RouterState extends Tree<ActivatedRoute> {
constructor(root: TreeNode, public snapshot: RouterStateSnapshot) {
    super(root);
    setRouterStateSnapshot(this, root);
  }

export function createEmptyState(urlTree: UrlTree, rootComponent: Type): RouterState`

export function createEmptyStateSnapshot(
    urlTree: UrlTree, rootComponent: Type): RouterStateSnapshot
export class ActivatedRoute {
  _futureSnapshot: ActivatedRouteSnapshot;
  snapshot: ActivatedRouteSnapshot;
  _routerState: RouterState;
  constructor(
      public url: Observable, public params: Observable,
      public queryParams: Observable, public fragment: Observable<string>,
      public data: Observable, public outlet: string, public component: Type|string,
      futureSnapshot: ActivatedRouteSnapshot) {
    this._futureSnapshot = futureSnapshot;
  }
  get routeConfig(): Route { return this._futureSnapshot.routeConfig; }
  get root(): ActivatedRoute { return this._routerState.root; }
  get parent(): ActivatedRoute { return this._routerState.parent(this); }
  get firstChild(): ActivatedRoute { return this._routerState.firstChild(this); }
  get children(): ActivatedRoute[] { return this._routerState.children(this); }
  get pathFromRoot(): ActivatedRoute[] { return this._routerState.pathFromRoot(this); }
export class ActivatedRouteSnapshot {
  _routeConfig: Route;
  _urlSegment: UrlSegmentGroup;
  _lastPathIndex: number;
  _resolve: InheritedResolve;
  _routerState: RouterStateSnapshot;
  constructor(
      public url: UrlSegment[], public params: Params, public queryParams: Params,
      public fragment: string, public data: Data, public outlet: string,
      public component: Type|string, routeConfig: Route, urlSegment: UrlSegmentGroup,
      lastPathIndex: number, resolve: InheritedResolve) {
    this._routeConfig = routeConfig;
    this._urlSegment = urlSegment;
    this._lastPathIndex = lastPathIndex;
    this._resolve = resolve;
  } 
  get routeConfig(): Route { return this._routeConfig; }    
  get root(): ActivatedRouteSnapshot { return this._routerState.root; } 
  get parent(): ActivatedRouteSnapshot { return this._routerState.parent(this); }   
  get firstChild(): ActivatedRouteSnapshot { return this._routerState.firstChild(this); }   
  get children(): ActivatedRouteSnapshot[] { return this._routerState.children(this); } 
  get pathFromRoot(): ActivatedRouteSnapshot[] { return this._routerState.pathFromRoot(this); }
}
export class RouterStateSnapshot extends Tree<ActivatedRouteSnapshot> {
    constructor(public url: string, root: TreeNode) {
    super(root);
    setRouterStateSnapshot(this, root);
  }
}

你可能感兴趣的:(Angular2,自用零散博文)