skipLocationChange不能正常工作

时间:2017-03-30 11:49:35

标签: angular angular-ui-router cesium

我正在使用skipLocationChange在3个地图组件之间导航:Cesium,Leaflet和Openlayers 3.我的应用程序保留了组件之间的位置,如mapmip.webiks.com(旧版本)中所示。 为了在从组件移动到另一个组件时设置边界我订阅了以下函数:

setQueryBoundsOnNavigationEnd(event:NavigationEnd):void {
let urlTree:UrlTree = this.leaflet.router.parseUrl(event.url);
urlTree.queryParams['bounds'] = this.getBounds().toString();
extras.skipLocationChange = this.skipLocationChange;
return this.router.navigateByUrl(url, extras);
 }

通过这种方式

leaflet.router.events.filter(event => event instanceof NavigationEnd && event.url.includes("/cesium")).take(1).subscribe(this.setQueryBoundsOnNavigationEnd.bind(this));

但是当我从铯回来时 - 网址不再隐藏了。

提前致谢!

1 个答案:

答案 0 :(得分:-2)

我缺少unsubsribe(),因此出现了NavigationError并且状态未正确加载