-
-
Notifications
You must be signed in to change notification settings - Fork 241
/
Copy pathpage-outlet.ts
59 lines (53 loc) · 1.83 KB
/
page-outlet.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import { TestApp, registerTestApp } from "../../tests/test-app";
import { ApplicationRef } from '@angular/core';
import { Router, NavigationStart, NavigationEnd } from "@angular/router";
// >> page-outlet-example
import { platformNativeScriptDynamic } from "nativescript-angular/platform";
import { NativeScriptModule } from "nativescript-angular/nativescript.module";
import { Component, NgModule } from '@angular/core';
import { NativeScriptRouterModule } from "nativescript-angular/router";
import { routes } from "./app.routes";
import { FirstComponent, SecondComponent } from "./navigation-common";
@Component({
selector: 'page-navigation-test',
template: `<page-router-outlet></page-router-outlet>`
})
export class PageNavigationApp {
// >> (hide)
public startEvent: any;
public endEvent: any;
public done: Promise<void>;
constructor(public router: Router, public appRef: ApplicationRef) {
registerTestApp(PageNavigationApp, this, appRef);
this.done = new Promise<void>((resolve, reject) => {
this.router.events.subscribe((e) => {
if (e instanceof NavigationStart) {
this.startEvent = e;
}
if (e instanceof NavigationEnd) {
this.endEvent = e
resolve();
}
});
});
}
// << (hide)
}
@NgModule({
declarations: [PageNavigationApp, FirstComponent, SecondComponent],
bootstrap: [PageNavigationApp],
imports: [
NativeScriptModule,
NativeScriptRouterModule,
NativeScriptRouterModule.forRoot(routes)
]
})
export class PageNavigationAppModule { }
// >> (hide)
function start_snippet_() {
// << (hide)
platformNativeScriptDynamic().bootstrapModule(PageNavigationAppModule);
// >> (hide)
}
// << (hide)
// << page-outlet-example