我要导航并将一些隐藏的参数从角度路由器传递到外部链接。
假设我在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}});
}
请提出解决方案。谢谢
答案 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
应用程序。无法处理您的请求。
在这种情况下,有一个解决方案是使用angular
至javascript
。
您可以在这里参考: Open a URL in a new tab (and not a new window) using JavaScript