mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-22 21:48:42 +08:00
fix(tabs): regression in nav-controller-base
This commit is contained in:
@ -521,6 +521,14 @@ export class NavControllerBase extends Ion implements NavController {
|
||||
this._sbTrns = transition;
|
||||
}
|
||||
|
||||
// transition start has to be registered before attaching the view to the DOM!
|
||||
transition.registerStart(() => {
|
||||
this._trnsStart(transition, enteringView, leavingView, opts, resolve);
|
||||
if (transition.parent) {
|
||||
transition.parent.start();
|
||||
}
|
||||
});
|
||||
|
||||
if (enteringView && enteringView._state === ViewState.INITIALIZED) {
|
||||
// render the entering component in the DOM
|
||||
// this would also render new child navs/views
|
||||
@ -531,13 +539,6 @@ export class NavControllerBase extends Ion implements NavController {
|
||||
console.debug('enteringView state is not INITIALIZED', enteringView);
|
||||
}
|
||||
|
||||
transition.registerStart(() => {
|
||||
this._trnsStart(transition, enteringView, leavingView, opts, resolve);
|
||||
if (transition.parent) {
|
||||
transition.parent.start();
|
||||
}
|
||||
});
|
||||
|
||||
if (!transition.hasChildren) {
|
||||
// lowest level transition, so kick it off and let it bubble up to start all of them
|
||||
transition.start();
|
||||
@ -633,8 +634,9 @@ export class NavControllerBase extends Ion implements NavController {
|
||||
// mainly for testing
|
||||
let enteringName: string;
|
||||
let leavingName: string;
|
||||
let hasCompleted = transition.hasCompleted;
|
||||
|
||||
if (transition.hasCompleted) {
|
||||
if (hasCompleted) {
|
||||
// transition has completed (went from 0 to 1)
|
||||
if (transition.enteringView) {
|
||||
enteringName = transition.enteringView.name;
|
||||
@ -671,7 +673,7 @@ export class NavControllerBase extends Ion implements NavController {
|
||||
}
|
||||
|
||||
// congrats, we did it!
|
||||
resolve(transition.hasCompleted, true, enteringName, leavingName, opts.direction);
|
||||
resolve(hasCompleted, true, enteringName, leavingName, opts.direction);
|
||||
}
|
||||
|
||||
_insertViewAt(view: ViewController, index: number) {
|
||||
|
Reference in New Issue
Block a user