使用angular将隐藏参数传递给外部链接

时间:2018-06-27 04:25:48

标签: angular angular5 angular-router

我要导航并将一些隐藏的参数从角度路由器传递到外部链接。

假设我在www.demo.com上运行了一个角度应用程序,我想使用角度路由器使用一些隐藏的参数导航到www.xyz.com。

我尝试使用router.navigate(),但我猜它仅在应用程序中有效,而不能用于外部链接。

HTML

<a class="UserActions-editButton edit-button EdgeButton EdgeButton--tertiary" data-scribe-element="profile_edit_button" type="button" (click)="enterUrl($event)">
<span class="button-text">Enter Url</span>
</a>

组件

enterUrl(event:any){
    var final_url = 'www.xyz.com'
    this.router.navigate([final_url], { queryParams: {token: this.token}});
  }

请提出解决方案。谢谢

2 个答案:

答案 0 :(得分:0)

不,您不能将隐藏的参数发送到任何外部链接。

但是下面是Angular应用程序内部导航的用例。

使用案例data的IMO属性将帮助您实现要求。

const routes: RouterConfig = [
  {path : 'heroes', component : HeroDetailComponent, data : {some_data : 'some value'}}
];

因此,您将获得这样传递的内容-

this.route.data.subscribe(data => console.log(data));

PS:据我所知,您只能使用data属性发送静态数据。

  

第三条路线中的 data 属性是用于存储与此特定路线相关联的任意数据的位置。在每个已激活的路由中都可以访问data属性。使用它来存储诸如页面标题,面包屑文本和其他只读静态数据之类的项目。您将在本指南的后面部分中使用解析防护来检索动态数据。

答案 1 :(得分:-1)

首先,x仅适用于this.router.navigate应用程序。无法处理您的请求。

在这种情况下,有一个解决方案是使用angularjavascript

您可以在这里参考: Open a URL in a new tab (and not a new window) using JavaScript