0
0
Angularframework~20 mins

Query parameters and fragments in Angular - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Query Mastery in Angular Router
Get all challenges correct to earn this badge!
Test your skills under time pressure!
component_behavior
intermediate
2:00remaining
How does Angular Router handle query parameters in navigation?
Consider the Angular Router navigation call:
this.router.navigate(['/products'], { queryParams: { category: 'books', sort: 'asc' } });

What will be the URL after this navigation?
A/products?category=books&sort=asc
B/products#category=books&sort=asc
C/products?category=books#sort=asc
D/products/category/books/sort/asc
Attempts:
2 left
💡 Hint
Query parameters appear after a question mark (?) in URLs.
state_output
intermediate
2:00remaining
What is the value of fragment after navigation?
Given this Angular Router navigation:
this.router.navigate(['/dashboard'], { fragment: 'section2' });

What will be the fragment part of the URL?
A/dashboard?section2
B?section2
C/dashboard#section2
D#section2
Attempts:
2 left
💡 Hint
Fragments start with a hash (#) symbol in URLs.
📝 Syntax
advanced
2:00remaining
Which option correctly reads query parameters using Angular's ActivatedRoute?
You want to read the query parameter 'id' from the URL inside a component. Which code snippet correctly does this?
Athis.route.queryParams.subscribe(params => { console.log(params['id']); });
Bthis.route.params.subscribe(params => { console.log(params['id']); });
Cthis.route.fragment.subscribe(fragment => { console.log(fragment['id']); });
Dthis.route.queryParamMap.subscribe(map => { console.log(map.get('id')); });
Attempts:
2 left
💡 Hint
queryParamMap provides a map with get() method for query parameters.
🔧 Debug
advanced
2:00remaining
Why does this Angular Router navigation not update the URL fragment?
Code:
this.router.navigate(['/home'], { queryParams: { page: 1 }, fragment: 'top' });

But the URL changes to '/home?page=1' without '#top'. What is the likely cause?
AThe router.navigate call is missing the 'preserveFragment: true' option.
BThe component's routerLink directive overrides the fragment.
CThe router.navigate does not update fragment if queryParams are present.
DThe router.navigate call is correct; the fragment is not shown because the browser hides it.
Attempts:
2 left
💡 Hint
Check if any template bindings might override navigation behavior.
🧠 Conceptual
expert
3:00remaining
How does Angular Router treat query parameters and fragments during route reuse?
When navigating between routes that reuse the same component, how does Angular Router handle changes in query parameters and fragments?
AQuery parameters and fragments changes do not trigger ngOnInit; you must subscribe to ActivatedRoute observables to detect changes.
BFragments changes trigger ngOnDestroy and ngOnInit, but query parameters do not.
CQuery parameters and fragments changes trigger ngOnInit to run again on the reused component.
DAngular Router reloads the entire component tree on any query parameter or fragment change.
Attempts:
2 left
💡 Hint
Think about Angular's reuse strategy and how observables notify changes.