即使我在/login
页面上,ActivatedRoute中的网址也是空的。这是代码。我尝试刷新页面并通过路由转发它。我想要当前激活的路径名。
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from "@angular/router";
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
constructor(
private route: ActivatedRoute,
private router: Router
) {
}
ngOnInit() {
this.route.url.subscribe(x => console.log(x.join(','))); //empty string
console.log(this.router.url); // logs '/'
}
}
我做错了什么吗?我知道这可以通过window.location
来完成。只是想避免这种情况并使用路由器,以便我可以使用observable来更新路径名。
这是我的routerConfig
const routerConfig: Route[] = [{
path: '',
redirectTo: '/home',
pathMatch: 'full'
}, {
path: 'home',
loadChildren: 'app/home/home.module#HomeModule'
}, {
path: 'login',
loadChildren: 'app/login/login.module#LoginModule'
}];
还没有服务器端代码。一切都在客户端。
Angular => 2.0.0决赛 路由器=> 3.0.0