假设我有一个<a routerLink="/foo">
标记,其中/foo
被路由到FooPageComponent
,后者将内容呈现到<router-outlet />
的AppComponent
中。如果我在此链接上Ctrl + 左键单击,将在第二个选项卡中打开/foo
。这是否意味着它将是我的单页应用程序的第二个独立实例?
我知道第二页使用相同的服务器,localStorage等,因此它不是完全独立的。但是它将具有自己的全局对象实例(例如路由器,单例服务等)吗?它还会运行APP_INITIALIZER
代码吗?
通常,在单页应用程序中,让用户在新选项卡中打开页面是一种好习惯,还是最好保持在同一选项卡中,并使用弹出窗口代替新的选项卡?
答案是肯定的,它将创建您的应用程序的全新实例,然后重新运行APP_INITIALIZER
。
关于您的第二个问题,没有更好的实践,这取决于您要实现的目标。