【发布时间】:2019-03-12 07:32:17
【问题描述】:
路由器导航不会加载组件,只会更改 url。当我刷新页面并使用相同的导航时,它可以工作。有谁知道如何解决这一问题?我在 app.module.ts 中使用 preloadingStrategy:customPreloading 和 onSameUrlNavigation: "reload" 并且我的 app.routes.ts 包含到组件模块的路由
{ path: 'directory/:domain', loadChildren: 'app/users/users.module#userModule' },
users.module.ts 包含
@NgModule({
imports: [
SharedModule,
userRoutes,
AddNewUserModule,
EditUserModule,
UserListModule
],
})
user.routing.ts
const routes: Routes = [
{
path: 'add-new-user', component: AddNewUserComponent
},
]
export const userRoutes: ModuleWithProviders = RouterModule.forChild(routes);
当我刷新浏览器并访问路由时,它工作正常,但是当我加载我的站点并登录时,当我路由添加新用户页面时,URL 会发生变化,但组件 UI 没有显示,但随后刷新浏览器工作。我也在使用路由保护,但它并没有拒绝我的路由,也没有触发任何导航取消。
有谁知道如何解决这个问题?非常感谢您的努力。
【问题讨论】:
-
您在控制台上遇到的错误是什么?
-
您要重定向到的 url 是动态的吗?类似 ab.com/:customparam
-
如果您能分享一个最小工作示例 StackBlitz 来复制您的问题,那将非常有帮助。
-
是的,它是动态路由 users/:domain/add-new-user
标签: angular angular-ui-router angular6