Angular 2路由器,href链接和不需要的页面刷新

时间:2016-01-14 10:32:59

标签: typescript angular angular2-routing

我目前正在尝试使用angular2(beta1),我对新路由器感到有些困惑。

通过router.navigate导航就像魅力一样,而尝试通过指向已注册路线的普通链接来刷新页面。 当然,这与PathLocationStrategy一起发生,因为HashLocationStrategy按预期工作。

这是一个错误还是正常行为?

TIA

2 个答案:

答案 0 :(得分:6)

您应该使用routerLink代替。例如<a [routerLink]="[ '/MyCmp', {myParam: 'value' } ]">

另见https://angular.io/guide/ajs-quick-reference#ng-href

您可以向<a href=...元素或父级添加事件侦听器,并调用router.navigate...event.preventDefault()

答案 1 :(得分:1)

您可以尝试在routerLink上的html模板中传递json。

@Component({
  selector: 'app',
  template: `
    <a [routerLink]="routerData">
  `
})
class AppComponent {
  this.routeData = [ '/MyCmp', {myParam: 'value' } ]
}

如果你有链接数组,你仍然可以使用* ngFor

尝试这样的事情