标签: angular-router-events

如何确定页面是否已重新加载/刷新或在 Angular 中导航

我必须确定页面是否由于某些路由而刷新或加载。

我认为可以通过ing 到路由器事件来使用 AngularRouter的NavigationEnd事件。subscribe

有人知道该怎么做吗?

请不要使用纯 JavaScript 解决方案。

angular angular-router angular-router-events

8
推荐指数
1
解决办法
1万
查看次数

升级到 Angular 11 后出现延迟加载路由问题

我有一个顶级路由器,它延迟加载子路由功能模块,在升级到 Angular v11.0.1 后已停止正常工作。

在 ng11 中的路由器事件处注销时,功能模块会被加载,并且RouteConfigLoadStart和RouteConfigLoadEnd都会通过正确的子路由器配置触发,但RoutesRecognized不会被调用。routerLink如果我第二次单击该链接(而不是),所有事件都会正常触发并加载相应的组件。

澄清一下:这不仅仅是链接的问题。它也不适用于初始页面加载,除非我转到不同的路线(第一次也不会加载),然后返回原始路线

此设置在 Angular v10.2.3 中可以正常工作(即只需单击一次并在初始加载时)

应用路由模块:

const routes: Routes = [
    {path: '', redirectTo: '/dashboard', pathMatch: 'full'},
    {path: 'browse', loadChildren: () => import('./browse/browse.module').then(m => m.BrowseModule)},
    {path: 'dashboard', loadChildren: () => import('./dashboard/dashboard.module').then(m => m.DashboardModule)},
    {path: '**', redirectTo: '/dashboard'}
];

@NgModule({
    imports: [RouterModule.forRoot(routes, {useHash: true})],
    exports: [RouterModule]
})
export class AppRoutingModule { }
Run Code Online (Sandbox Code Playgroud)

仪表板路由模块

const routes: Routes = [
    {path: '', component: DashboardComponent},
    {path: ':id', component: DashboardComponent} …
Run Code Online (Sandbox Code Playgroud)

angular-routing angular angular-router angular-router-events angular11

6
推荐指数
1
解决办法
5155
查看次数