According to the URI spec, question mark characters are valid in query data, so these should accepted by the param parsing. See https://tools.ietf.org/html/rfc3986#section-3.4 Fixes #31116 BREAKING CHANGE: The default url serializer would previously drop everything after and including a question mark in query parameters. That is, for a navigation to `/path?q=hello?&other=123`, the query params would be parsed to just `{q: 'hello'}`. This is incorrect because the URI spec allows for question mark characers in query data. This change will now correctly parse the params for the above example to be `{v: 'hello?', other: '123'}`. PR Close #31187
Angular Router
Managing state transitions is one of the hardest parts of building applications. This is especially true on the web, where you also need to ensure that the state is reflected in the URL. In addition, we often want to split applications into multiple bundles and load them on demand. Doing this transparently isn’t trivial.
The Angular router is designed to solve these problems. Using the router, you can declaratively specify application state, manage state transitions while taking care of the URL, and load components on demand.
Guide
Read the dev guide here.