我想显示一个弹出窗口,当用户点击
角度应用程序外部的链接
是的。
如何检查URL是否是外部的?
例如,指向同一域,但不同的文档
<a [href]="someUrl" appCheckExternalUrl>{{someUrl}}</a>
@Directive({
selector: '[appCheckExternalUrl]'
})
export class CheckExternalUrlDirective {
constructor(private el: ElementRef<HTMLAnchorElement>) { }
get url() { return this.el.nativeElement.href; }
get isExternalUrl() {
return ???;
}
}
棘手的是,这取决于路由器设置。
假设我的应用程序托管在
mydomain.com/myapp
并确定路线
/myroute
是的。然后:
-
mydomain.com/myapp/myroute
-内部路线
-
mydomain.com/anotherapp
-外部路线。
但是如果路由器使用标签路由,那么
-
mydomain.com/myapp/myroute
是外部的。
此外,此URL也是外部的,因为它不是由应用程序处理的:
-
mydomain.com/myapp/assets/logo.png