Just to add some clarification to the above:
-
activationStrategy.invokeLifecycleshould be sufficient to ensureactivate()is called.
activate() is called by default when the route params have changed (which triggers the navigation plan to set the strategy to invokeLifecycle)
-
activationStrategy.replaceactually invokes the whole component lifecycle (including the templating’sbind(),attached()etc).
The navigation plan normally only sets the strategy to replace when the moduleId has changed e.g. a new viewmodel needs to be composed. Forcing the whole component lifecycle is costly and unnecessary if (can)(de)activate is really all you need.