Why $ionicView.beforeEnter is called twice in ion-tabs ?(With Plunker attached)

I have tried to add ion-tabs at the top of a page(HomeTabPage), but I found that the $ionicView.beforeEnter is called twice.
Is it because the two tabs are sharing the same ctrl? Please see this Plunker.

BTW, if I do not add the goToSecondTab() in the homeTabPage.html, the second tab view won’t show.

Why this happens? Can anyone please help explain a bit?

Thanks very much!