我目前正在尝试使用angular2(beta1),我对新路由器感到有些困惑。
通过router.navigate导航就像魅力一样,而尝试通过指向已注册路线的普通链接来刷新页面。 当然,这与PathLocationStrategy一起发生,因为HashLocationStrategy按预期工作。
这是一个错误还是正常行为?
TIA
答案 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
尝试这样的事情