Angular 4路由器:直接浏览器导航重新启动应用程序

Angular 4路由器:直接浏览器导航重新启动应用程序,angular,angular-routing,Angular,Angular Routing,当我使用浏览器直接导航到路线时,应用程序会重新引导,然后它会将我带到正确的页面/组件。 例如,当我浏览一个按钮时,它会直接将我带到那里,而无需重新引导应用程序 这是预期的行为吗? 我怎样才能防止这种情况 问题是我们使用identity server进行身份验证。它需要一个回调url,就像直接的浏览器导航和应用程序重新引导一样 我们的app-routing.module如下所示: const routes: Routes = [ { path: '', redirectTo: '/dashbo

当我使用浏览器直接导航到路线时,应用程序会重新引导,然后它会将我带到正确的页面/组件。 例如,当我浏览一个按钮时,它会直接将我带到那里,而无需重新引导应用程序

这是预期的行为吗? 我怎样才能防止这种情况

问题是我们使用identity server进行身份验证。它需要一个回调url,就像直接的浏览器导航和应用程序重新引导一样

我们的app-routing.module如下所示:

const routes: Routes = [
  { path: '', redirectTo: '/dashboard', pathMatch: 'full' },
  { path: 'dashboard', component: DashboardComponent, canActivate: [RouteGuardService] },
  { path: 'users', component: UsersMainComponent},
  { path: 'vendors', component: VendorMainComponent},
  { path: 'invoices', component: InvoicesMainComponent},
  { path: 'offers' , component: EsdMainComponent},
  { path: 'settings' , component: SettingsMainComponent},
  { path: 'callback' , component: CallbackComponent},
  { path: 'createvendor' , component: CreateVendorsComponent, canActivate: [RouteGuardService]},
  { path: 'customerdashboard' , component: CustomerDashboardComponent},
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule],
  providers: [RouteGuardService]
})
export class AppRoutingModule { }

回调路径是identity server的回调url。

是,这是预期的行为。当您在Angular应用程序中使用按钮进行布线时,只需使用
pushState
修改历史记录(位于底部)

当您进行直接导航时,您将获取
index.html
,这将引导应用程序,然后应用程序将使用当前URL确定要显示的组件


希望介绍如何解决您的问题。

谢谢您提供的有用信息。不幸的是,您提供的相关问题的链接没有帮助。您找到了解决此问题的方法吗?