2016-12-15 62 views
1

这是我的模块代码。所以我的应用程序是这样的:登录(按按钮去仪表板) - >仪表板(按链接去儿童组件) - >在线/离线组件。刷新儿童组件Angular2时出错

他们都在同一页面上。

我用它来导航它们的方式:

this.router.navigate(['/dashboard'] 

routerLink= '/dashboard/online 

routerLink= '/dashboard/offline 

app.module.ts

@NgModule({ 
    imports: [ 
     BrowserModule, 
     FormsModule, 
     HttpModule, 
     JsonpModule, 
     RouterModule.forRoot([ 
     { 
      path: 'login', 
      component: LoginComponent 

     },{ 
      path: 'dashboard', 
      component: DashboardComponent, 
      children: [ 
       { 
        path: 'online', 
        component: OnlineComponent 
       },{ 
        path: 'offline', 
        component: OfflineComponent 
       },{ 
        path: '', 
        redirectTo: 'online', 
        pathMatch: 'full' 

       } 
      ] 
     },{ 
      path: '', 
      redirectTo: '/login', 
      pathMatch: 'full' 
     } 
     ]) 
    ], 

它工作正常的路由。但是,如果我在url栏显示localhost:3000/dashboard/online时刷新页面。刷新后页面不会加载。控制台显示了这样的错误:

error at GET http://localhost:3000/dashboard/node_modules/core-js/client/shim.min.js 
error at GET http://localhost:3000/dashboard/node_modules/zone.js/dist/zone.js 
error at GET 
http://localhost:3000/dashboard/node_modules/reflect-metadata/Reflect.js 
error at GET http://localhost:3000/dashboard/node_modules/systemjs/dist/system.src.js 
Uncaught ReferenceError, system is not defined. 

我认为这与我设置的儿童组件或我可能需要添加基本href在Dashboard构件,因为它有子组件的方式做。

请帮我这个。

谢谢。

回答

0

这可能与有关后退/前进箭头和刷新的角度路由器问题有关。我有一个非常类似的问题。

我不知道事实如果这样做,但尝试在您的app.module这个,它将位置策略切换回到好老标签的东西(所以url看起来像http://foo/#/bar而不是只是http://foo/bar )。一旦我这样做了,所有令人耳目一新的和前进/后退的导航问题就会消失(例如,如果我从我的站点去www.amazon.com,然后点击后退箭头,服务器就会响应大量“未找到”并且等等):

// other imports 
import { LocationStrategy, HashLocationStrategy } from '@angular/common'; 

@NgModule({ 
    declarations: [ ... ], 
    imports: [ ... ], 
    providers: [ 
    {provide: LocationStrategy, useClass: HashLocationStrategy} 
    ], 
    bootstrap: [ AppComponent ] 
}) 
export class AppModule { } 
+0

Hi @Tim感谢您的回答。是否提供和使用类保留字? –

+0

它的工作!谢谢 !!!! –

+0

我不认为它们是保留的,只需要提供者对象上的键。不要在此引用我。 –