我正在尝试构建一个类似于谷歌地图的地图中心应用程序。因此,主要是地图,并且根据URL路由,组件会加载到小侧面板内。
我希望实现的功能类似于Google Maps:
/home/@54.072,-2.899 —> 加载
/dashboard/@53.123,2.345 —> 加载
但是,
换句话说:如果我执行以下操作:
export const routes: Routes = [
{path: 'home/:coordinates', component: HomeComponent},
{path: 'dashboard/:coordinates', component: DashboardComponent},
{path: 'utils/:coordinates', component: UtilsDemo},
];
我希望实现的功能类似于Google Maps:
/home/@54.072,-2.899 —> 加载
HomeComponent
并导航到坐标 54.072,-2.899/dashboard/@53.123,2.345 —> 加载
DashboardComponent
并导航到坐标 54.123,2.345但是,
:coordinates
参数不应该局限于组件内部,而应该在某种程度上是全局的。否则,我必须在每个组件内部完成导航部分。换句话说:如果我执行以下操作:
this.route.params.subscribe(params => {
console.log(params['coordinates']);
});
在 AppComponent
内部,参数未定义。它只在每个特定组件内起作用。
在 Angular5 中是否有实现这一功能的方法?