所以我写了一个小应用程序,展示从维基百科获取的一些信息。
这个获取到的HTML中还有链接。
我的目标是:
每次用户点击链接时,我想拦截它并执行自定义行为,而不是默认的浏览器重定向。
内置的Angular httpinterceptor在这里无法工作。我该如何实现这个效果?
代码:
import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
@Injectable()
export class HttpInterceptorService implements HttpInterceptor {
constructor() {
}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { //HttpSentEvent | HttpHeaderResponse | HttpProgressEvent | HttpResponse<any> | HttpUserEvent<any>> {
console.assert(true, 'Intercepting Link request!' + request.url);
return next.handle(request);
}
}
我可能有什么误解吗?
编辑: 似乎我误解了href和http请求的工作方式。尽管如此,我仍想在我的应用程序中对每个链接点击进行自定义行为。有没有可能拦截这些“事件”?
click
绑定而不是href
即可。 - jonrsharpe