2017-08-24 76 views
0

我已经从asp.net core 2发布的角度spa模板开始。我在VS中进行更改并保存后首先注意到,浏览器会刷新,但内容是重复的,重复的......等。Asp.net Core Angular模板路由器插座没有正确清除

我现在正在使用一个路由器插座区域进行一些基本组件路由。我试图在html和router中使用routerlink,并在代码中导航和navigatebyurl中得到相同的结果。在第一次导航时,新内容会被加载,但原始内容不会被清除。如果我再次点击导航按钮,它会正确地重新加载。我也通过直接进入浏览器来测试路径,一切正常。由于我在开发模式下运行,不知道它是否与实时刷新有关,或者它是否具有.net模板实现了角度spa。

没什么特别在所有,任何routeguards或其他任何

喜欢有在同一项目中的角MVC的WebAPI控制器的能力,但实际上一直有疼痛感为止。

***************** 
Routing Module 
    @NgModule({ 
     imports: [ 
       RouterModule.forRoot([ 
        { path: '', redirectTo: 'home', pathMatch: 'full' }, 
        { path: 'home', component: HomeComponent }, 
        { path: 'maint/uom/:id', component: UomDetailComponent }, 
        { path: 'maint/uom', component: UomMaintenanceComponent }, 
        { path: 'httptest', component: HttpTestComponent}, 
        { path: '**', redirectTo: 'home' } 
       ]), 
      ], 
      exports: [RouterModule] 
    }) 
    export class AppRoutingModule { } 

******************************************* 

//navigate in ts file 
    showUomDetail(uom: IUom) { 
      console.log(uom); 
      this._router.navigate(['/maint/uom', uom.id]); 

      // this._router.navigateByUrl('/maint/uom/5'); 
      //route to detail page 
     } 


***** 
HTML snippet 
    <a class="btn btn-primary" [routerLink]="['/httptest']">View</a> 

***** 
app.component.html 
<div class='container-fluid'> 
    <div class="row"> 
     <nav-menu></nav-menu> 
    </div> 
    <div class='row'> 
     <div class='col-sm-9 body-content'> 
      <router-outlet></router-outlet> 
     </div> 
    </div> 
</div> 
+0

不知道这是否是显示的最佳方式,但这里是链接到谷歌驱动器的视频。 https://drive.google.com/open?id=0BwI9FAmKVvK_NHRTWG5feGx4SDg。产品详细信息是一个新的组件,而不是隐藏在网页上的内容,这就是为什么通过网址或通过底部的A标签直接访问的原因。谢谢 –

+0

你的路由器插座是什么样的?你是否使用任何组件作为指令? (即使用其他HTML中的组件选择器属性)? – DeborahK

+0

在这一点上很简单。一个使用引导菜单的路由器插座...将代码片段添加到上面的代码中。如果我在服务器运行时进行更改,当页面自动刷新时,也会发生类似的情况,它也可以重复,直到我强制刷新。 –

回答

3

我终于开始将组件拉出应用程序,直到找到它。它是BrowserAnimationModule。一旦我把它拉出来,一切都按预期工作。

+0

你节省了我的一天。 – Ismaestro

相关问题