Angular6: Why is `ActivatedRoute.snapshot.queryParams` empty when the url clearly shows correct value?
up vote
0
down vote
favorite
from one page, I call:
// call this to nav to '/list' with queryParams
const data = {'map-center': this.loc.join(',')};
this.router.navigate(['/list'], {queryParams:data} );
which produces the correct navigation event with this url:
http://localhost:8100/list?map-center=13.7414025,100.51102500000002
but in the target page, queryParam
is empty in both cases:
// <ion-router-outlet main
// (activate)="!!$event.viewWillEnter ? $event.viewWillEnter() : undefined"
viewWillEnter(){
// using constructor(){ private route: ActivatedRoute }
const mapCenter = this.route.snapshot.queryParams['map-center'];
this.route.queryParams.subscribe(p=>console.log(">>> queryParams=", p))
}
however, queryParam is fine when I reload from the browser. what's happening?
[update] if I add a param to the url, queryParams
works fine.
this.router.navigate(['/list',{a:1}], {queryParams:data} );
// http://localhost:8100/list;a=1?map-center=13.7414025,100.51102500000002
javascript angular ionic-framework angular6
add a comment |
up vote
0
down vote
favorite
from one page, I call:
// call this to nav to '/list' with queryParams
const data = {'map-center': this.loc.join(',')};
this.router.navigate(['/list'], {queryParams:data} );
which produces the correct navigation event with this url:
http://localhost:8100/list?map-center=13.7414025,100.51102500000002
but in the target page, queryParam
is empty in both cases:
// <ion-router-outlet main
// (activate)="!!$event.viewWillEnter ? $event.viewWillEnter() : undefined"
viewWillEnter(){
// using constructor(){ private route: ActivatedRoute }
const mapCenter = this.route.snapshot.queryParams['map-center'];
this.route.queryParams.subscribe(p=>console.log(">>> queryParams=", p))
}
however, queryParam is fine when I reload from the browser. what's happening?
[update] if I add a param to the url, queryParams
works fine.
this.router.navigate(['/list',{a:1}], {queryParams:data} );
// http://localhost:8100/list;a=1?map-center=13.7414025,100.51102500000002
javascript angular ionic-framework angular6
Trythis.route.queryParams.subscribe(params =>console.log(params['map-center']))
– Arcteezy
Nov 15 at 11:10
It's the same. I getparams=={}
– michael
Nov 15 at 11:16
Yes. But I'm returning to the route, so it should already be loaded, right?
– michael
Nov 15 at 15:19
Technically yes. And it worked for me.
– Arcteezy
Nov 16 at 6:31
adding a param to the the route makesqueryParams
work fine. e.g.this.router.navigate(['/list',{a:1}], {queryParams:data} );
– michael
Nov 16 at 6:59
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
from one page, I call:
// call this to nav to '/list' with queryParams
const data = {'map-center': this.loc.join(',')};
this.router.navigate(['/list'], {queryParams:data} );
which produces the correct navigation event with this url:
http://localhost:8100/list?map-center=13.7414025,100.51102500000002
but in the target page, queryParam
is empty in both cases:
// <ion-router-outlet main
// (activate)="!!$event.viewWillEnter ? $event.viewWillEnter() : undefined"
viewWillEnter(){
// using constructor(){ private route: ActivatedRoute }
const mapCenter = this.route.snapshot.queryParams['map-center'];
this.route.queryParams.subscribe(p=>console.log(">>> queryParams=", p))
}
however, queryParam is fine when I reload from the browser. what's happening?
[update] if I add a param to the url, queryParams
works fine.
this.router.navigate(['/list',{a:1}], {queryParams:data} );
// http://localhost:8100/list;a=1?map-center=13.7414025,100.51102500000002
javascript angular ionic-framework angular6
from one page, I call:
// call this to nav to '/list' with queryParams
const data = {'map-center': this.loc.join(',')};
this.router.navigate(['/list'], {queryParams:data} );
which produces the correct navigation event with this url:
http://localhost:8100/list?map-center=13.7414025,100.51102500000002
but in the target page, queryParam
is empty in both cases:
// <ion-router-outlet main
// (activate)="!!$event.viewWillEnter ? $event.viewWillEnter() : undefined"
viewWillEnter(){
// using constructor(){ private route: ActivatedRoute }
const mapCenter = this.route.snapshot.queryParams['map-center'];
this.route.queryParams.subscribe(p=>console.log(">>> queryParams=", p))
}
however, queryParam is fine when I reload from the browser. what's happening?
[update] if I add a param to the url, queryParams
works fine.
this.router.navigate(['/list',{a:1}], {queryParams:data} );
// http://localhost:8100/list;a=1?map-center=13.7414025,100.51102500000002
javascript angular ionic-framework angular6
javascript angular ionic-framework angular6
edited Nov 16 at 6:58
asked Nov 15 at 11:01
michael
1,22432346
1,22432346
Trythis.route.queryParams.subscribe(params =>console.log(params['map-center']))
– Arcteezy
Nov 15 at 11:10
It's the same. I getparams=={}
– michael
Nov 15 at 11:16
Yes. But I'm returning to the route, so it should already be loaded, right?
– michael
Nov 15 at 15:19
Technically yes. And it worked for me.
– Arcteezy
Nov 16 at 6:31
adding a param to the the route makesqueryParams
work fine. e.g.this.router.navigate(['/list',{a:1}], {queryParams:data} );
– michael
Nov 16 at 6:59
add a comment |
Trythis.route.queryParams.subscribe(params =>console.log(params['map-center']))
– Arcteezy
Nov 15 at 11:10
It's the same. I getparams=={}
– michael
Nov 15 at 11:16
Yes. But I'm returning to the route, so it should already be loaded, right?
– michael
Nov 15 at 15:19
Technically yes. And it worked for me.
– Arcteezy
Nov 16 at 6:31
adding a param to the the route makesqueryParams
work fine. e.g.this.router.navigate(['/list',{a:1}], {queryParams:data} );
– michael
Nov 16 at 6:59
Try
this.route.queryParams.subscribe(params =>console.log(params['map-center']))
– Arcteezy
Nov 15 at 11:10
Try
this.route.queryParams.subscribe(params =>console.log(params['map-center']))
– Arcteezy
Nov 15 at 11:10
It's the same. I get
params=={}
– michael
Nov 15 at 11:16
It's the same. I get
params=={}
– michael
Nov 15 at 11:16
Yes. But I'm returning to the route, so it should already be loaded, right?
– michael
Nov 15 at 15:19
Yes. But I'm returning to the route, so it should already be loaded, right?
– michael
Nov 15 at 15:19
Technically yes. And it worked for me.
– Arcteezy
Nov 16 at 6:31
Technically yes. And it worked for me.
– Arcteezy
Nov 16 at 6:31
adding a param to the the route makes
queryParams
work fine. e.g. this.router.navigate(['/list',{a:1}], {queryParams:data} );
– michael
Nov 16 at 6:59
adding a param to the the route makes
queryParams
work fine. e.g. this.router.navigate(['/list',{a:1}], {queryParams:data} );
– michael
Nov 16 at 6:59
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53317994%2fangular6-why-is-activatedroute-snapshot-queryparams-empty-when-the-url-clearl%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Try
this.route.queryParams.subscribe(params =>console.log(params['map-center']))
– Arcteezy
Nov 15 at 11:10
It's the same. I get
params=={}
– michael
Nov 15 at 11:16
Yes. But I'm returning to the route, so it should already be loaded, right?
– michael
Nov 15 at 15:19
Technically yes. And it worked for me.
– Arcteezy
Nov 16 at 6:31
adding a param to the the route makes
queryParams
work fine. e.g.this.router.navigate(['/list',{a:1}], {queryParams:data} );
– michael
Nov 16 at 6:59