2016-12-15 108 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">