2016-12-15 114 views
0

我正在开发一个使用Angular2的webapp。我试图用HasLocationStratery实现路由。我的应用程序启动与此网址:https://127.0.0.1:8443/adminHashLocationStrategy不起作用Angular 2

这是多么我已经配置我的路线:

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#/

我该如何做到这一点?

+0

什么是你的基本href? (在你的HTML) – Sakuto

+0

是的,它在我的HTML这样的' user2959870

+1

它应该是/ admin然后,否则它是正常的 – Sakuto

回答

1

要使用子目录配置路由,必须根据物理目录定义基础href。

例如,在你的情况下,它应该是<base href="/admin">