在Angular中使用多个参数的RouterLink

23

我想创建一个链接到具有多个参数的路由并在模板中绑定它们。 到目前为止,我一直通过在(click)事件中执行该函数来实现,但我想知道是否可以在RouterLink的绑定中完成。

这是我用于绑定参数的函数:

redirect() {
    this._router.navigate( ['/category', { cat: this.category, page: this.page }]);
}

我的路线看起来像这样:

{
    path: 'category/:cat/:page',
    component: PostComponent
}

我能否在routerLink指令内做同样的事情?

2个回答

47

当然可以,您可以使用routerLink动态生成href标签进行导航。数组中的每个值都将根据组件上下文进行评估。

[routerLink]="['/category', category, page ]"

1
哈哈,其实在你编辑之前,我一直在想我做错了什么。谢谢,它现在可以用了。我不知道为什么在文档中找不到它。我一开始尝试和你第一个答案一样,但是它却创建了这样的链接:href="/category;cat=1;page=1"。 - Dawid Zbiński
1
@DawidZbiński,那是我的错。:D 它将形成一个用分号;分隔的字符串,这很奇怪... - Pankaj Parkar
1
没关系,在最后一刻一切都完美地运作了。再次感谢。 - Dawid Zbiński
1
@DannyFardyJhonstonBermúdez 很高兴知道它有所帮助 :) - Pankaj Parkar

-5

你可以这样做,例如:

<p *ngFor="let emp of employees; let i = index">
  <li><a [routerLink]="['delete', i]">{{emp.name}}</a>({{emp.status}})</li>
</p>

希望这有所帮助,
谢谢

很不幸,我认为这个答案根本没有回答问题。你展示的路由链接中没有多个参数。 - Dawid Zbiński
索引 i 对于每个员工都是动态的,这使得每个删除 URL 都是动态的。 - Alok Kamboj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接