I’ve run into the same issue. I have an <ion-tabs> in my @App template and it works fine, but when I try to add a tab bar to a @Page, I get the error. Copying the working tabs from the app or just adding a simple <ion-tabs><ion-tab></ion-tab></ion-tabs> to a page’s template causes the error. (Adding just an <ion-tabs></ion-tabs> with no tab doesn’t error in the console but causes the whole page to return empty.)
What I’m trying to do is have a tab bar on a page under a page header. It isn’t a global tab bar, but rather one that is only for this specific page.
The layout I’m trying to accomplish seems to be possible if I use the <ion-segment> object instead of <ion-tabs>…
Which is unfortunate since the documentation cleary states that it is possible to omit the root binding and use an onSelect function instead. And this throws the same recursion error.