【发布时间】:2016-10-09 11:41:19
【问题描述】:
最近我阅读了this useful article about Angular 2 Router 并查看了the demo。一切似乎都很完美。但是当我尝试根据router-link-active类确定活动路由时,我发现根路由始终处于活动状态。
这是 app.component.ts 的一段代码,其中配置了“主”路由:
@Component({
selector: 'demo-app',
template: `
<a [routerLink]="['/']">Home</a>
<a [routerLink]="['/about']">About</a>
<div class="outer-outlet">
<router-outlet></router-outlet>
</div>
`,
// add our router directives we will be using
directives: [ROUTER_DIRECTIVES]
})
@Routes([
// these are our two routes
{ path: '/', name: 'Home', component: HomeComponent }, // , useAsDefault: true}, // coming soon
{ path: '/about', name: 'About', component: AboutComponent }
])
export class AppComponent { }
如果我将路径从'/' 更改为'/home' 并将<a [routerLink]="['/']">Home</a> 更改为<a [routerLink]="['/home']">Home</a>,默认组件(必须是 HomeComponent)就会消失。 HomeComponent 只有在点击链接时才会被激活,并且每次我们切换到另一个路由时,router-link-active 都会被正确添加和删除。
这是一个错误还是路由配置有问题?
【问题讨论】:
-
这个链接对你来说可能很有趣github.com/angular/angular/issues/8397
-
嗨@yurzui,感谢您的链接。这很有帮助。原来这就是 Angular 2 路由的工作方式。所以我必须做我自己的解决方法.. :(
-
yurzui 的链接似乎是关于新路由器的。对于 beta 和 RC.1
@angular/router-deprecatedgithub.com/angular/angular/issues/5334 似乎是相关问题。 -
我正在使用新路由器进行演示。所以我认为链接是相关的。
-
@asubanovsky 如果你有,请分享你的解决方法,我正在经历同样的面部手掌,“Home”始终处于活动状态
标签: javascript angular