10

我目前正在试验 angular2 (beta1),我对新路由器有点困惑。

通过 router.navigate 进行导航就像一个魅力,而尝试通过指向已注册路由的正常链接来刷新页面。这当然发生在 PathLocationStrategy 中,因为 HashLocationStrategy 可以按预期工作。

这是错误还是正常行为?

TIA

4

2 回答 2

7

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

另请参阅https://angular.io/guide/ajs-quick-reference#ng-href

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

于 2016-01-14T10:42:16.970 回答
1

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

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

如果您有链接数组,您仍然可以使用 *ngFor 尝试类似的操作

于 2016-01-14T11:40:26.473 回答