router.navigate 中的 {skipLocationChange : true} 不工作;改变状态
{skipLocationChange : true} in router.navigate not working; changing the state
我正在尝试在 JSP 页面上嵌入 Angular 应用程序,出于某些原因我需要浏览器来保留状态并且不希望 angular 将新状态推送到浏览器历史。
根据 Angular documentation { skipLocationChange: true }
将允许我这样做。下面是我修改后的代码。
this.router.navigate(['/customComponent'],{ skipLocationChange: true });
仍然Angular正在浏览器历史记录中推送新的历史记录状态。
state: {navigationId: 2}
下面是控制台快照。
路由代码有问题吗?或者我缺少任何参数。
问题出在 app.module.ts 中的路由配置。
由于 angular 将默认路径路由到 customComponent
,它修改了状态并且没有规定传递 skipLocationChange
参数,我不得不使用 appComponent 构造函数中的 skipLocationChange
重新路由到 customComponent在我的案例中是自举的。
根据编写的代码,直接引导 customComponent 也会有所帮助。
const appRoutes: Routes = [
{
path: '',
redirectTo: "/customComponent",
pathMatch: 'full'
},
我用这个 this.router.navigate(['process-form/' + processDefCustomId + '/' + taskId], { skipLocationChange: true });在 constructor() 和 skipLocationChange: true 中不起作用。
我将我的代码移至 ngOnInit() 方法并且 skipLocationChange: true 有效。
我正在尝试在 JSP 页面上嵌入 Angular 应用程序,出于某些原因我需要浏览器来保留状态并且不希望 angular 将新状态推送到浏览器历史。
根据 Angular documentation { skipLocationChange: true }
将允许我这样做。下面是我修改后的代码。
this.router.navigate(['/customComponent'],{ skipLocationChange: true });
仍然Angular正在浏览器历史记录中推送新的历史记录状态。
state: {navigationId: 2}
下面是控制台快照。
路由代码有问题吗?或者我缺少任何参数。
问题出在 app.module.ts 中的路由配置。
由于 angular 将默认路径路由到 customComponent
,它修改了状态并且没有规定传递 skipLocationChange
参数,我不得不使用 appComponent 构造函数中的 skipLocationChange
重新路由到 customComponent在我的案例中是自举的。
根据编写的代码,直接引导 customComponent 也会有所帮助。
const appRoutes: Routes = [
{
path: '',
redirectTo: "/customComponent",
pathMatch: 'full'
},
我用这个 this.router.navigate(['process-form/' + processDefCustomId + '/' + taskId], { skipLocationChange: true });在 constructor() 和 skipLocationChange: true 中不起作用。
我将我的代码移至 ngOnInit() 方法并且 skipLocationChange: true 有效。