我目前正在试验 angular2 (beta1),我对新路由器有点困惑。
通过 router.navigate 进行导航就像一个魅力,而尝试通过指向已注册路由的正常链接来刷新页面。这当然发生在 PathLocationStrategy 中,因为 HashLocationStrategy 可以按预期工作。
这是错误还是正常行为?
TIA
我目前正在试验 angular2 (beta1),我对新路由器有点困惑。
通过 router.navigate 进行导航就像一个魅力,而尝试通过指向已注册路由的正常链接来刷新页面。这当然发生在 PathLocationStrategy 中,因为 HashLocationStrategy 可以按预期工作。
这是错误还是正常行为?
TIA
你应该使用 arouterLink
代替。例如<a [routerLink]="[ '/MyCmp', {myParam: 'value' } ]">
另请参阅https://angular.io/guide/ajs-quick-reference#ng-href
您可以将事件侦听器添加到<a href=...
元素或父元素并调用router.navigate...
and event.preventDefault()
。
您可以尝试像这样在 routerLink 上的 html 模板中传递 json。
@Component({
selector: 'app',
template: `
<a [routerLink]="routerData">
`
})
class AppComponent {
this.routeData = [ '/MyCmp', {myParam: 'value' } ]
}
如果您有链接数组,您仍然可以使用 *ngFor 尝试类似的操作