我在应用程序中使用了angular 7。 我想限制用户手动更改URL。 怎么做让我知道。 请也找到以下情况。
案例:我已使用以下代码重定向用户。因此URL不会改变,但组件将呈现为DOM。
this.router.navigate([(this.route.snapshot.data as any).redirectTo],
{
skipLocationChange: true, relativeTo: this.route
});
因此原始路由将为localhost:4200 / dashboard / admin,但由于上述代码行/ admin将不会显示。 如果用户在URL末尾手动输入/ admin或/ user,那么我想删除/ admin或/ user。 怎么做
答案 0 :(得分:0)
对于您的问题,没有现成的解决方案。
我的建议是使用具有以下流程的警卫:
对于1,我避免这样做:
this.router.navigate([(this.route.snapshot.data as any).redirectTo], { skipLocationChange:true,relativeTo:this.route,isManual:false });
isManual将能够写在URL中,所以它是无关紧要的。我会选择共享数据服务或状态服务。在线上有关如何构建两者的大量材料。
希望这会有所帮助, 塔诺斯