我有一个服务,我从URL中读取了几个参数。看起来很好,直到我尝试在constructor
的{{1}}中注入服务,或者我尝试从app.component.ts
调用服务方法。然后url-parameters未定义。
任何想法可能是什么原因?
app.component.ts
:
my-service.service.ts
...
public param1;
constructor(public router: Router, private http: HttpClient) {
this.param1 =
this.router.parseUrl(this.router.url).queryParams['todo'];
console.log('param1: ' + this.param1); // returns undefined if the service is injected in app.component
}
....
:
app.component.ts
答案 0 :(得分:0)
当我们通过一些参数时,我们总是这样做:
import { Router, ActivatedRoute } from '@angular/router';
constructor(
private router: Router,
private route: ActivatedRoute
){
this.route.params.subscribe(params => {
let todo = params['todo'];
});
}
也许你必须将订阅转移到ngOnInit(),但通常这应该有效。