大家好我是角色新手,我想在用户点击刷新按钮或后退按钮时根据某些条件停止路由.如果有人知道帮助我,我不知道这是否可行
constructor(private route: Router) {
this.route.events
.filter(event => event instanceof NavigationEnd)
.pairwise().subscribe((event) => {
if (expression === true){
// stop routing
} else {
// continue routing
}
});
}
Run Code Online (Sandbox Code Playgroud)
是否有可能,如果是的话,我该怎么做?
提前致谢.
我在Angular项目中有很多链接(使用Angular 2),类似于:
<a [routerLink]="..."
[routerLinkActive]="..."
[routerLinkActiveOptions]="...">
Link
</a>
Run Code Online (Sandbox Code Playgroud)
我想根据上下文/状态禁用其中一些(通过更改颜色并防止操作发生)。
对于样式,我添加了链接:
[class.disabled]="!isValidLink()"
Run Code Online (Sandbox Code Playgroud)
这使我可以将链接显示为禁用状态,但仍然需要阻止路由。如果将a添加target="_self"
到元素,它将阻止路由,但是我需要根据某些状态有条件地执行此操作。
是否有任何受支持的路由方式来执行此操作,或者是否有其他可行的实现方式?
编辑:pointer-events
在CSS中设置为none可以防止单击链接,但是我正在寻找一种解决方案来防止键盘事件也触发它。