0
私のルーティングモジュールでは、この方法でデータを渡しています。私はとShowSideBar
値を保持し、コンストラクタを介してそれらを初期化しますRouteData
クラスを作成したデータ型が安全にするために角度2のルートに型安全なルートデータを渡す
const routes: Routes = [
{ path: '', redirectTo: 'login', pathMatch: 'full' },
{ path: 'login', component: LoginComponent, data: { ShowTopBar: true, showSideBar: false} },
{ path: 'error', component: ErrorComponent, data: { ShowTopBar: true, showSideBar: false}}
];
export const AppRoutingModule: ModuleWithProviders = RouterModule.forRoot(routes);
。
export class RouteData {
constructor(showTopbar: boolean, showSideBar: boolean) {
this.ShowSideBar = showSideBar;
this.ShowTopBar = showTopbar;
}
public ShowTopBar: boolean;
public ShowSideBar: boolean;
}
は今、私は次のようにルートの宣言を変更しました:
のコンパイルに次のエラーを与えているconst routes: Routes = [
{ path: '', redirectTo: 'login', pathMatch: 'full' },
{ path: 'login', component: LoginComponent, data: new RouteData(false, false) },
{ path: 'error', component: ErrorComponent, data: new RouteData(true, false)}
];
:
エラーは、静的シンボル値を解決遭遇しました。関数呼出 'RouteData'では、関数呼び出しはサポートされていません。私の質問は、私はタイプの利点を活用できるように、どのように我々はルートにタイプセーフな方法で
RouteData
を渡すことができている
AppRoutingModule
、エクスポートされた関数を参照して 機能やラMBDAを交換 解決のシンボルを考えてみましょう-安全性。あなたは以下を行うことができます