Angular 在向后导航时重新加载整个应用程序(location.back)



我注意到 location.back() 在我的英雄之旅应用程序中重新加载了整个应用程序 StackBlitz.com。

为什么会这样?

https://stackblitz.com/angular/qvvrbgrmmda?file=src%2Fapp%2Fhero-detail%2Fhero-detail.component.ts

添加

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

providers: [
{
provide: LocationStrategy,
useClass:  HashLocationStrategy
}
],

imports: [
CommonModule,
// ...

在您的应用程序中。

现在,您的 URL 中有一个#,可防止每次在应用程序中导航时应用加载整个应用程序的新实例。在你问之前,摆脱#的唯一方法是通过服务器端渲染,例如使用Angular Universal你还需要使用localstorage或后端调用来保存应用程序状态,这不是一个好的做法。所以只要坚持#。有关详细信息,请参阅 https://stackoverflow.com/a/37031886/4125622

这是由 StackBlitz 提供的拆分窗格预览功能引起的;这不是 Angular 教程的问题。如果您使用全窗口预览,则不会发生。因此,请单击"在新窗口中打开"以避免此问题。

相关内容

最新更新