rev*_*veN 7 binding router typescript angular
首先,我不确定这是否是正确的方法,以实现我想要的..我正在尝试添加如下的导出绑定到router.navigate() - 方法:
<call [caller]="caller"></call>
Run Code Online (Sandbox Code Playgroud)
问题是我从不使用该指令,而是通过路由器来解决它:
acceptCall() {
this.router.navigate(["call"]);
}
Run Code Online (Sandbox Code Playgroud)
如何从acceptCall()方法中的第一个示例实现相同的导出绑定?我已经添加了一个Input()变量并尝试使用queryParams,如下所示:
@Input() caller: Caller;
acceptCall(caller) {
this.router.navigate(["call"], {queryParams: caller});
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
小智 10
根据我的意见,您必须:
1 - 重新定义您的路线
{path: 'call/:caller', component: MyComponent }
Run Code Online (Sandbox Code Playgroud)
2 - 更改父组件中的导航
this.router.navigate(["call", caller]);
Run Code Online (Sandbox Code Playgroud)
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']);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14591 次 |
| 最近记录: |