I’m moving things over to being lazy-loaded in my app. I have my tabs working (mostly). I’m noticing that the end result has odd URL’s, which don’t work well with the back button.
I’m following this example as a baseline. I do not have any segment
identifier on my tabs.ts definition of IonicPage()
. I’m seeing the result as:
http://localhost:8100/#/tabs/home/home
When my home page has only home
defined in it’s IonicPage
as the segment. Is this the expected URL format for lazy-loaded tabs?
I don’t understand your question yet. Segments and tabs are not the same thing. What do you mean by that?
Sorry for the loaded term. By segment
I was referring to this documentation. A segment
property can be provided to override the URL path used for a page (which I am not doing).
One other thing I’m noticing with the lazy-loaded tabs is the back button doesn’t work well. Navigating to 3 sample pages (Home, Accounts, Notifications) does go through the 3 (oddly named) URLs below:
Unfortunately, clicking the Back button in the browser goes right back to http://localhost:8100/#/ (doesn’t remember the stack). I’ve tried adjusting the way I load the tab pages (push
vs. setRoot
, vs. selecting a tab) but the results are the same.
As I understand it, that’s an unavoidable side-effect of using the hash location strategy. The browser doesn’t see anything beyond the # as affecting its notion of “the current URL”. Maybe you could try switching to the path location strategy.
After implementing the lazy loading (IonicPage
) baseline, the back button is keeping track of previously viewed pages for me when running in a browser. It only acts extremely odd when dealing with tabs.
Having the same issue as OP in regards to using Ionic 3 Lazy Loaded page modules.
@brassier did you ever happen to find a fix or read more into path location strategies for this setup?
Thanks
@kevinxsalerno - Sorry I can’t help much here. I was fortunate enough to have tabs taken out of the requirements for my app. The back button with lazy loaded pages seems to work fairly well without tabs.