Skip to content

Commit 850d7fc

Browse files
committed
fix(angular): change detection in deep ViewContainers
1 parent 4d23cba commit 850d7fc

File tree

10 files changed

+182
-172
lines changed

10 files changed

+182
-172
lines changed

Diff for: angular/src/directives/navigation/nav-delegate.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ComponentFactoryResolver, Directive, ElementRef, Injector } from '@angular/core';
1+
import { ComponentFactoryResolver, Directive, ElementRef, Injector, ViewContainerRef } from '@angular/core';
22
import { AngularDelegate } from '../../providers/angular-delegate';
33

44
@Directive({
@@ -7,10 +7,11 @@ import { AngularDelegate } from '../../providers/angular-delegate';
77
export class NavDelegate {
88
constructor(
99
ref: ElementRef,
10-
cfr: ComponentFactoryResolver,
10+
resolver: ComponentFactoryResolver,
1111
injector: Injector,
1212
angularDelegate: AngularDelegate,
13+
location: ViewContainerRef
1314
) {
14-
ref.nativeElement.delegate = angularDelegate.create(cfr, injector);
15+
ref.nativeElement.delegate = angularDelegate.create(resolver, injector, location);
1516
}
1617
}

Diff for: angular/src/directives/navigation/router-controller.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ export class StackController {
4747

4848
pop(deep: number) {
4949
const view = this.views[this.views.length - deep - 1];
50-
this.navCtrl.setGoback();
51-
this.router.navigateByUrl(view.url);
50+
this.navCtrl.goBack(view.url);
5251
}
5352

5453
private insertView(enteringView: RouteView, forcedGoBack: boolean): boolean {

Diff for: angular/src/directives/navigation/tab-delegate.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ComponentFactoryResolver, Directive, ElementRef, HostListener, Injector } from '@angular/core';
1+
import { ComponentFactoryResolver, Directive, ElementRef, HostListener, Injector, ViewContainerRef } from '@angular/core';
22
import { AngularDelegate } from '../../providers/angular-delegate';
33

44

@@ -9,11 +9,12 @@ export class TabDelegate {
99

1010
constructor(
1111
private elementRef: ElementRef,
12-
cfr: ComponentFactoryResolver,
12+
resolver: ComponentFactoryResolver,
1313
injector: Injector,
1414
angularDelegate: AngularDelegate,
15+
location: ViewContainerRef
1516
) {
16-
elementRef.nativeElement.delegate = angularDelegate.create(cfr, injector);
17+
elementRef.nativeElement.delegate = angularDelegate.create(resolver, injector, location);
1718
}
1819

1920
@HostListener('ionRouterOutletActivated', ['$event'])

0 commit comments

Comments
 (0)