Angular 9 - 在另一个选项卡中打开 routerLink 是否会创建第二个应用程序实例?

Angular 9 - Does opening a routerLink in another tab create a second application instance?

假设我有一个 <a routerLink="/foo"> 标签,其中 /foo 被路由到 FooPageComponent,它将内容呈现到 AppComponent<router-outlet /> 中。如果我Ctrl+左键单击这个link,/foo将在秒内打开选项卡。这是否意味着它将成为我的单页应用程序独立的第二个实例

我知道第二个页面使用相同的服务器,localStorage等,所以它不是完全独立的。但它会拥有自己的全局对象实例(如路由器、单例服务等)吗?它也会 运行 APP_INITIALIZER 代码吗?

一般来说,在单页应用程序的情况下,让用户在新选项卡中打开页面是好的做法,还是最好留在同一选项卡中,并使用例如弹出窗口而不是新选项卡?

答案是肯定的,它将创建一个全新的应用程序实例,然后重新运行 APP_INITIALIZER

关于你的第二个问题,没有更好的练习,这取决于你想要达到什么。