调用外部网址上的组件,而无需更改该网址

时间:2018-12-31 10:43:10

标签: angular

我有一个外部网址。例如。 http://www.google.com

现在我要做的是,当该URL在浏览器上命中,然后添加到url时,我的角度组件应该调用,但url不应更改。

2 个答案:

答案 0 :(得分:0)

注意:我不确定如何处理外部URL调用,从而触发angular内部的路由更改。

此外,要跳过浏览器中的网址更改,请假设以下是您的routerlink:

<a [routerLink] = "["/external/url", {skipLocationChange: true}]"></a>。您可以使用routerLink的skipLocationChange属性跳过网址更改。

答案 1 :(得分:0)

我认为您需要提供更多详细信息,但是根据我的假设,您可以尝试以下解决方案:

您需要从Angular中的<li class="nav-item dropdown-content dropdown" dropdown> <a class="nav-link" dropdownToggle role="button"><i class="fa fa-user" aria-hidden="true"></i>Consumers</a> <ul *dropdownMenu class="subnav"> <li class="nav-item"><a class="nav-link" href="/guru">Overview</a> </li> <li class="nav-item"><a class="nav-link" href="#">Delete</a></li> <li class="nav-item"><a class="nav-link" href="#">InActive</a></li> </ul> </li> <li class="nav-item dropdown-content dropdown" dropdown> <a class="nav-link" dropdownToggle role="button"><i class="fa fa-user" aria-hidden="true"></i>UserList</a> <ul *dropdownMenu class="subnav"> <li class="nav-item"><a class="nav-link" href="/guru">Overview</a> </li> <li class="nav-item"><a class="nav-link" href="#">Delete</a></li> <li class="nav-item"><a class="nav-link" href="#">InActive</a></li> </ul> </li> DOCUMENT导入@angular/platform-browser,并且可以使用@angular/common打开外部URL。

document.location.href

如果要在函数中使用以上代码:

document.location.href = 'http://www.google.com';

在html中

import { DOCUMENT } from '@angular/common';
constructor(@Inject(DOCUMENT) private document: any) { }
redirect(): void {
    this.document.location.href = 'http://www.google.com';
}