加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

将参数添加到Angular router.navigate

发布时间:2020-12-17 17:03:11 所属栏目:安全 来源:网络整理
导读:首先,我不确定这是否是正确的方法,以实现我想要的…… 我试图将如下所示的导出绑定添加到router.navigate() – 方法: call [caller]="caller"/call 问题是我从不使用该指令,而是通过路由器来解决它: acceptCall() { this.router.navigate(["call"]);} 如何
首先,我不确定这是否是正确的方法,以实现我想要的……
我试图将如下所示的导出绑定添加到router.navigate() – 方法:

<call [caller]="caller"></call>

问题是我从不使用该指令,而是通过路由器来解决它:

acceptCall() {
   this.router.navigate(["call"]);
}

如何从acceptCall()方法中的第一个示例实现相同的导出绑定?
我已经添加了一个Input()变量并尝试使用queryParams,如下所示:

@Input() caller: Caller;
acceptCall(caller) {
    this.router.navigate(["call"],{queryParams: caller});
}

但这不起作用.

解决方法

根据我的意见,您必须:

1 – 重新定义您的路线

{path: 'call/:caller',component: MyComponent }

2 – 更改父组件中的导航

this.router.navigate(["call",caller]);

3 – 在子组件中,获取参数

import { ActivatedRoute } from '@angular/router';
// code until ...
myParam: string;
constructor(private route: ActivatedRoute) {}
// code until ...
ngOnInit() {
    this.route.params.subscribe((params: Params) => this.myParam = params['caller']);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读