I checked it in a sample project. It seems that the first view is not destroyed, just went to the background. When you initiates the back operation, it will just move the first view to the top, without calling the rendering methods.
What do you want to do in the renderer methods?
- If you want to make data related changes visible, rerendering is not necessary, as it's done automatically by data binding
- If you want to update a control, you can
.invalidate()
or .rerender()
a control directly, which will call the proper lifecycle method of the control. It's much better than rerender the whole view.
To force the rerendering, you can invalidate your view using this.getView().invalidate()
or this.getView().rerender()
in the navigation event handlers. Be careful to call these two methods only if necessary as it affects the performance of your website.