【发布时间】:2016-05-08 16:34:36
【问题描述】:
这是routerLink的示例
<a [routerLink]="['SearchResult', {myParam: 'value'}]">
这里 myParam 是常量。我怎样才能使它动态化,即使用状态来填充它。
【问题讨论】:
这是routerLink的示例
<a [routerLink]="['SearchResult', {myParam: 'value'}]">
这里 myParam 是常量。我怎样才能使它动态化,即使用状态来填充它。
【问题讨论】:
在您的组件中定义一个对象并将其传递给routerLink
模板
<a [routerLink]="['SearchResult', searchParams]">
组件
@Component({.....})
export class YourComponent {
public searchParams = {myParam: 'value'};
ngAfterViewInit(){
// change your parameters here. eg.: this.searchParams = {somePrm: 'someValue'}
}
}
或者,如果您只有较小的更改或要传递的参数,您也可以这样做
<a [routerLink]="['SearchResult', (state == 'a') ? {myParam: 'value'} : {yourParam: 'value'}]">
【讨论】:
searchParams 对象并将其传递给您的 routerLink 。在点击发生之前更改您想要的任何内容。