How to "wait" for ionic components to load?

Love the components but I am having a very frustrating issue. When my app/webpage loads for the first time, it fetches a whole bunch of images from my S3 bucket. This usually takes a few seconds in total. When this happens, all of my ionic components work properly; ones that are baked right into the main index.html page (such as an ion-slides) and ones that are dynamically added through simple JS like document.createElement('ion-slides').

When I re-load the page, all images are grabbed from the cache so loading is almost instant. However, in particular, ion-slides is always, 100% of the time broken. They do not slide properly (the bounciness is gone) and the pager does not show up, even though I can see it in the HTML.

I had solved this problem once for the ion-slides which I was adding dynamically. I had to write a MutationObserver to wait until slider-wrapper was appended and then I could add <ion-slide>s dynamically, although I had to append them to the swiper-wrapper and not ion-slides.

Now I have hardcoded ion-slides into my index.html and face the same problem still, and I have no idea why. If the images are not cached and take some time, then everything works. If they are loaded from cache, then it’s all broken.

So basically the question is, is there a callback like ionic.ready() that I can wait for? I don’t understand what is happening.