【发布时间】:2016-12-15 12:15:16
【问题描述】:
我正在使用 Angular2 开发一个 webapp。我正在尝试使用 HasLocationStratery 实现路由。我的应用程序以这个 URL 开头:https://127.0.0.1:8443/admin
这就是我配置路线的方式:
import {Routes, RouterModule} from '@angular/router';
import {AppComponentAdmin} from "./app.component.admin";
import {ModuleWithProviders} from "@angular/core";
import {MainComponent} from "./administrator/components/main/main.component";
import {LoginComponent} from "./administrator/components/account/login/login.component";
import {WorkorderComponent} from "./administrator/components/entities/workorder/workorder.component";
import {WorkorderViewEditComponent} from "./administrator/components/entities/workorder/workorder.view.edit.component";
const appRoutes: Routes = [
//admin paths
{ path: 'admin', component: AppComponentAdmin},
{ path: 'admin/login', component: MainComponent },
{ path: 'admin/creds', component: LoginComponent },
{ path: 'admin/workorder', component: WorkorderComponent },
{ path: 'admin/workorder/:id', component: WorkorderViewEditComponent },
// otherwise redirect to admin
{ path: 'admin/**', redirectTo: 'admin', pathMatch: 'full' }
];
export const appRoutingProviders: any[] = [
];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
在模块中我已经导入了这个。
import {HashLocationStrategy, LocationStrategy} from "@angular/common"
并在模块中这样提供
[{provide: LocationStrategy, useClass: HashLocationStrategy}]
所以现在当我访问 https://127.0.0.1:8443/admin
我在地址栏中得到了这个https://127.0.0.1:8443/#/
它应该给我的是这个https://127.0.0.1:8443/admin#/
我怎样才能做到这一点?
【问题讨论】:
-
你的基本href是什么? (在你的 html 中)
-
是的,它在我的 html 中就像这样
<base href="/"> -
那么应该是/admin,否则正常
-
是的,先生,您完全正确。这对我帮助很大。谢谢