如何在angular6中创建非SPA页面?

时间:2018-09-12 19:41:57

标签: javascript angular typescript

我通过路由制作简单的SPA页面。对于旧式路由,我使用跟随功能:

@NgModule({
  imports: [RouterModule.forRoot(routes, { useHash: true })],

工作正常。

这些页面(/登录)之一是NON SPA。 路由:

  imports: [
    RouterModule.forRoot([
      { path: '', redirectTo: '/login', pathMatch: 'full'},
      { path: 'login', component: LoginViewComponent },
      { path: 'home', component: HomeViewComponent },
      { path: 'catalog', component: CatalogViewComponent },
      { path: '**', redirectTo: 'login' }
    ], { useHash: true })
  ],

模板:

<a href="/login">Login</a> |

<a routerLinkActive="active" 
   routerLink="/home">Home</a> | 

<a routerLinkActive="active" 
  routerLink="/catalog">Catalog</a> 

<router-outlet></router-outlet>

我需要制作2个NON SPA页面:/ login / home。请帮助我。

LIVE DEMO is here

1 个答案:

答案 0 :(得分:0)

routerLink编译为常规href。然后,角度路由器截取它们以获取角度的内部路由逻辑。

我认为您的目标是加载新页面?然后您可以使用普通锚点

<a href="https://www.google.com">Link</a>

编辑

最后删除useHash并使用正常的href =“ / home”

RouterModule.forRoot([
  { path: 'login', component: LoginViewComponent },
  { path: 'home', component: HomeViewComponent },
  { path: 'catalog', component: CatalogViewComponent },
  // { path: '', redirectTo: '/login', pathMatch: 'full'},
  // { path: '**', redirectTo: 'login' }
])