2016-07-21 37 views
0

Problem bei diesem Projekt Beispiel präsentiert: https://github.com/rrcoolp/test-router-app/Nativescript Angular Router 3.0.0-alpha.7 - Navigation Ausfall

Navigation failure: Ich habe dieses Testprojekt erstellt ein Problem mit der NATIVESCRIPT WINKEL 2 (RC3) Nativescript präsentieren mit Router 3.0.0-alpha.7

Das Problem ist einfach, die Navigation zu einer anderen Seite schlägt nach der ersten Navigation fehl. Um zu sehen, Problem in Aktion gehen Sie folgendermaßen vor:

  1. Klicken Sie auf eine beliebige Taste (GOTO PAGE 1 oder GOTO PAGE 2): nach der ersten die entsprechende Seite klicken und es ist Inhalt gerendert wird

  2. Jede spätere Klicks eine der beiden Tasten (einschließlich Kindern Komponenten) nicht in der Navigation

Jede mögliche Hilfe würde geschätzt ...

Hier ist ein Beispiel meines APP_COMP ist ONENT Datei:

import {Component, OnInit, ChangeDetectorRef} from "@angular/core"; 
 
import {NS_ROUTER_DIRECTIVES} from "nativescript-angular/router"; 
 
import {ROUTER_DIRECTIVES, Router} from '@angular/router'; 
 
import {APP_ROUTER_PROVIDERS} from "./app.routes"; 
 
import {Location, LocationStrategy} from "@angular/common"; 
 
import {app_globals} from "./utils/globals"; 
 

 
@Component({ 
 
\t selector: "main", 
 
\t directives: [ROUTER_DIRECTIVES, NS_ROUTER_DIRECTIVES], 
 
\t providers: [APP_ROUTER_PROVIDERS], 
 
\t templateUrl: "masterpage.html" 
 
}) 
 
export class AppComponent implements OnInit { 
 
\t showBackButton: boolean = false; 
 
\t history: any = []; 
 
\t pushState: any; 
 

 
\t constructor(public _router: Router, private _changeDetectionRef: ChangeDetectorRef, private _Location: Location, private _LocationStrategy: LocationStrategy, private _app_globals: app_globals) { 
 
\t \t this._changeDetectionRef = _changeDetectionRef; 
 
\t \t this._LocationStrategy = _LocationStrategy; 
 
\t } 
 
\t ngOnInit() { 
 
\t \t this._app_globals.navigateTo$.subscribe(val => { 
 
\t \t \t console.log("SUBSCRIBED NAVIATE TO:" + val); 
 
\t \t \t this.navigateTo(val); 
 
\t \t }); 
 
\t } 
 

 

 
\t goBack() { 
 
\t \t this._LocationStrategy.back(); 
 
\t } 
 
\t navigateTo(page) { 
 
\t \t console.log("GotoTestPage"+page); 
 
\t \t this._router.navigate(["testpage"+page, "PAGE"+page]).then(() => { 
 
\t \t \t alert("Route Completed but see content didn't change to PAGE"+page); 
 
\t \t \t 
 
\t \t }); 
 
\t } 
 

 
\t GotoTestPage2() { 
 
\t \t this.navigateTo("2"); 
 
\t } 
 

 
\t GotoTestPage1() { 
 
\t \t this.navigateTo("1"); 
 
\t } 
 
}

+0

tns android laufen – Rrcoolp

+0

Stellen Sie sicher, App-Router-Provider werden nur einmal definiert. Versuchen Sie, diese Anbieter nur zur Bootstap-Methode zu verschieben. Ich kann später nachsehen, ob das nicht funktioniert. In einem Café gerade jetzt. – Matthew

+0

Ich habe noch nicht versucht, den Router outlet '' könnten Sie eine Basisroute dafür verwenden? https://github.com/NativeScript/nativescript-angular/blob/master/ng-sample/app/examples/router/router-outlet-test.ts#L67 – Matthew

Antwort

1

Verstanden durch Angabe absoluten Pfad in der Navigate-Methode arbeiten (als Beigabe ein führender "/"):

this._router.navigate(["/testpage"+page, "PAGE"+page]).then(() => { ... }); 
+0

Dank Alexander Vakrilov, ich dachte, das gleiche gestern - aber lief in ein völlig anderes Problem nach dem Upgrade auf RC4 und rputer 3.0.S.2 ... Sehen Sie den neuesten Code in der GIT REPO - und bitte beraten Sie, wenn Sie irgendwelche Ideen haben ... Nochmals vielen Dank https://github.com/rrcoolp/test-router-app – Rrcoolp