Angular2中的navigate函数和routerLink有什么区别?

What is the difference between the navigate function and routerLink in Angular 2?

我正在关注官方 Angular 2 tutorial,它以与 routerLink 非常相似的方式使用导航功能。它们之间有什么区别?什么时候使用哪个?

this.router.navigate(['/detail', this.selectedHero.id]);

[routerLink]="['/detail', hero.id]"

[routerLink] 是一个 Angular 指令,您可以在 html 中将其用于 <a><button> 元素。该指令将侦听单击事件并导航到使用 params 创建的路径提供给 routerLink

this.router.navigate(['/detail', this.selectedHero.id]); 在您的组件或服务中用于导航。

如果指定了相同的参数,

routerLink 指令和 this.router.navigate 应该导航到完全相同的 url。

routerLink 是在幕后使用的指令 router.navigate() 还有。

routerLink的值与navigate中的函数参数完全相同