Buc*_*ead 5 angular2-routing angular4-router
我有一个链接:
<a routerLink="/test" (click)="testClick($event)">Test link </a>
Run Code Online (Sandbox Code Playgroud)
我想在testClick
功能上做这样的事情:
testClick(event:any) {
if (..some expression..) {
//custom popup confirmation
//if true --> event.preventDefault();
} else {
// go to link
}
}
Run Code Online (Sandbox Code Playgroud)
但是打电话preventDefault
是行不通的。我该如何解决?
您可以使用span元素包装链接的文本,并在此span上绑定事件处理程序:
<a routerLink="/test"><span (click)="testClick($event)">Test link</span></a>
Run Code Online (Sandbox Code Playgroud)
和您的处理程序:
function testClick($event: MouseEvent) {
if (expression) {
$event.stopPropagation();
// do something
return;
}
// navigates to /test
}
Run Code Online (Sandbox Code Playgroud)