我在混合模式下使用AngularJS 1.5和Angular 7。如何更改Angular组件中的URL?我试图按如下方式访问当前网址:
constructor(private router: Router, private route: ActivatedRoute) {
console.log(this.route.snapshot.queryParams);
}
查询参数始终为空。在父AngularJS组件中,我使用$location
服务获取查询参数。
如果我尝试使用路由器更改路由,则会显示无效路由。如何更改Angular组件中的当前URL?目前,我正在发布一个事件,该事件又由可以使用$location
服务的父AngularJS组件捕获。
答案 0 :(得分:0)
使用以下方法获取查询参数:
constructor(private router: Router, private route: ActivatedRoute) {
this.route.queryParams.subscribe(params => {
console.log(params);
});
}
导航到其他URL(如您所指定的,即更改url),然后使用:
this.router.navigate(['/someurl']);
答案 1 :(得分:0)
我设法通过升级AngularJS $ location服务来做到这一点:
@Injectable()
export class LocationService {
search(queryParameter?: string, value?: string): string | any {
return undefined;
}
}
在AppModule中执行以下操作
{provide: LocationService, useFactory: (i: any) => i.get('$location'), deps: ['$injector']},