Hi,
I think the behaviour of browser’s history.back() and forward() with master-detail is imperfect.
Even the url bar’s urls change correctly, the contents do not go back to the old states in some cases.
I think the root cause is that, F7 does not re-evaluate the pushstate-hash from master to detail routes when navigating between histories.
I am not sure if this is an issue or just I don’t understand F7 well.
Please take a look, thanks!
demo: https://cdpn.io/john-lok-ho/debug/mdVOooe/
code: https://codepen.io/john-lok-ho/pen/mdVOooe
Case 1:
- click PAGE-A
url is /#!/a, shows A in master, empty detail - click PAGE-A/1
url is /#!/a/1, detail becomes A/1 - history.back()
url becomes /#!/a, good,
but detail does not change to empty as in step 1.
Case 2:
- click PAGE-A/1
url is /#!/a/1, shows A in master, A/1 in detail - click PAGE-A
url is /#!/a, empty detail - history.back()
url becomes /#!/a/1, good,
but breaks master-detail, shows only A/1
Case 3:
- click PAGE-B
url is /#!/b, shows page-B (not master-detail) - click PAGE-A/1 (or click PAGE-A, then click PAGE-A/1)
url is /#!/a/1 - history.back()
url becomes /#!/a, but shows page-B - history.back()
url becomes /#!/b, shows page-B
(step4 is good, step3 failed to show page-A)