You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(router): bootstrap finishes before all routes are resolved #12162
[x] bug report => search github for a similar issue or PR before submitting
Current behavior
If I have a router that requires resolving async data, bootstrap will complete before the router has finished resolving and rendering. Any parent components that have already loaded will be rendered while waiting for children to load. This behavior is most problematic with pre-rendered applications. The user will first see the pre-rendered content, then when bootstrap is complete and route resolution is still pending, they'll see either a blank page or partially-rendered page, then once all routes are resolved, the full page content will render and should match the pre-rendered content .
Expected behavior
I expect bootstrap not to complete before route resolution and rendering is complete.
Minimal reproduction of the problem with instructions
Currently we trigger the initial navigation in a bootstrap listener. Angular does not wait for bootstrap listeners to complete.Moving the logic naively into an application listener will not work because the root component is not created at that point. So the router can successfully run preactivation, but cannot run activation. We can split navigate into preactivate and activate. Runpreactivatein an application listener and runactivate ` in a bootstrap listener.
Activity
vsavkin commentedon Oct 12, 2016
Notes:
Currently we trigger the initial navigation in a bootstrap listener. Angular does not wait for bootstrap listeners to complete.Moving the logic naively into an application listener will not work because the root component is not created at that point. So the router can successfully run
preactivation, but cannot runactivation. We can splitnavigateintopreactivateandactivate. Runpreactivatein an application listener and runactivate ` in a bootstrap listener.diestrin commentedon Jan 16, 2017
Is this being address by anyone? More than 3 months and it's still happening :/
11 remaining items
fix(router): do not finish bootstrap until all the routes are resolved
fix(router): do not finish bootstrap until all the routes are resolved (
DzmitryShylovich commentedon Feb 15, 2017
@vicb the fix was merged so it can be closed
fix(router): do not finish bootstrap until all the routes are resolved
fix(router): do not finish bootstrap until all the routes are resolved (
fix(router): do not finish bootstrap until all the routes are resolved (
fix(router): do not finish bootstrap until all the routes are resolved (
fix(router): do not finish bootstrap until all the routes are resolved (
angular-automatic-lock-bot commentedon Sep 10, 2019
This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.
Read more about our automatic conversation locking policy.
This action has been performed automatically by a bot.