2016-09-12 59 views
2

我在我的角2的应用程序的一些问题与路由例如我在角2路由3.0.0-rc.2重复路线

https://www.url.com/index

并且如果我重装URL看起来这

https://www.url.com/index/index

如果我再这样做

https://www.url.com/index/index/index

我使用的版本是 “@角/路由器”:“3.0.0-rc.2 “

app.routing.ts看起来这

import { ModuleWithProviders } from '@angular/core'; 
import { Routes, RouterModule } from '@angular/router'; 
import { subprocessesComponent } from './Subprocesses.component'; 
import { moduleTermsComponent } from './moduleTerms.component'; 
import { retailProcessesComponent } from './retailProcesses.Component'; 
import { seeDocTestComponent } from './seeDocTest.component'; 

//import { HeroesComponent }  from './heroes.component'; 
//import { HeroDetailComponent } from './hero-detail.component'; 

const appRoutes: Routes = [ 
    { 
     path: '', 
     redirectTo: '/index', 
     pathMatch: 'full' 
    }, 
    { 
     path: 'index', 
     component: moduleTermsComponent 
    }, 
    { 
     path: 'processes/:id', 
     component: retailProcessesComponent 
    },  
    { 
     path: 'processes/subprocesses/:id', 
     component: subprocessesComponent 
    }, 
    { 
     path: 'seeDocs', 
     component: seeDocTestComponent 
    } 
]; 

export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes); 

通过我使用的WebPack用于捆绑我的应用程序,所以在我的index.html我的脚本的方式<script type="text/javascript" src="../dist/app.bundle.js"></script>

如果有人知道发生了什么事,或者如果我做错了,我会欣赏一些帮助与此

在此先感谢!

UPDATE

app.module.ts这个样子的:

import { NgModule } from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { moduleTermsComponent } from './moduleTerms.component'; 
import { AppComponent } from './app.component'; 
import { processListComponent } from './processesList.component'; 
import { retailProcessesComponent } from './retailProcesses.Component'; 
import { subProcessItemsComponent } from './subProcessItems.component'; 
import { subprocessesComponent} from './Subprocesses.component'; 
import { seeDocTestComponent } from './seeDocTest.component'; 
import { HttpModule } from '@angular/http'; 
import {AccordionModule} from "ng2-accordion"; 

import { serviceTerms } from './serviceTerms.service'; 
import { MyLogger } from './MyLogger'; 
import { routing } from './app.routing'; 


@NgModule({ 
    imports: [ 
     BrowserModule, 
     HttpModule, 
     AccordionModule, 
     routing 
    ], 
    declarations: [ 
     moduleTermsComponent, 
     AppComponent, 
     retailProcessesComponent, 
     processListComponent, 
     subprocessesComponent, 
     subProcessItemsComponent, 
     seeDocTestComponent 
     //PaginatePipe 
    ], 
    providers: [serviceTerms], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 

回答

1

添加

{provide: APP_BASE_HREF, useValue: '/'} 

AppModule

+0

喜@君特ZOC的供应商hbauer感谢重播,我用我的app.module.ts更新了我的问题,请问我可以告诉我,我应该在哪里添加它? –

+1

提供者,在'serviceTerms'旁边。不知道它是否解决了您的问题。 –

+0

我像这样导入了APP_BASE_HREF:从'@ angular/common'导入{APP_BASE_HREF};然后把它提供给像这样的提供者:[serviceTerms,{provide:APP_BASE_HREF,useValue:'/'}]并且它给了我这个错误:错误TS2345:类型'{provide:any; useValue:string; }'不能分配给'ExtraOptions'类型的参数。 对象字面量只能指定已知属性,'提供'不存在于'ExtraOptions'类型中**和**错误TS2304:找不到名称'APP_BASE_HREF'** –