@ray-js/router
Version:
Ray Core
34 lines (33 loc) • 974 B
TypeScript
import { Page, Pages, RouterScheduler as IRouterScheduler, Routes, TabBar, SubPackages } from '@ray-js/types';
type EventMembers = 'routeChange';
/**
* web 环境下的路由协调器
*/
export declare class RouterScheduler extends IRouterScheduler<Page> {
private $currentRoute;
private $listeners;
$entityMap: Page[];
basename: string;
/**
* 当前调度器的 route 地址
*/
get currentRoute(): string;
set currentRoute(val: string);
on(event: EventMembers, fn: Function): () => void;
emit(event: EventMembers, ...args: any[]): void;
/**
* 初始化路由,注册应用声明的路由,并处理映射关系
*/
registryPages(params: {
routes: Routes;
pages: Pages;
tabBar: TabBar;
subpackages?: SubPackages;
}): void;
getMatchedPage(pathname: string): Page & {
params: object;
pathname: string;
};
addPage(page: Page): void;
}
export {};