2016-07-21 11 views
0

問題:https://github.com/rrcoolp/test-router-app/Nativescript角度ルータ3.0.0-alpha.7 - ナビゲーション障害このプロジェクトの例で披露

ナビゲーションの失敗:私はNATIVESCRIPTアンギュラ2(RC3)の問題を提示するために、このテストプロジェクトを作成しているNativescriptルータ3.0.0-alpha.7

問題は簡単です。最初のナビゲーション後に別のページへのナビゲーションが失敗します。いずれかのボタン(GOTOページ1またはGOTOページ2)上の

  1. クリック:アクションで問題を確認するには以下の手順を実行します。最初のそれぞれのページをクリックして、それがに

  2. それ以降のクリックをレンダリングされたコンテンツだ後(子コンポーネントを含む)のいずれかのボタンは、ナビゲーションに失敗

すべてのヘルプは感謝です...ここで

は私APP_COMPのサンプルですONENTファイル:

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 – Rrcoolp

+0

を確認してください実行しますアプリのルータプロバイダは一度だけ定義されます。これらのプロバイダをbootstapメソッドに移動してみてください。それがうまくいかない場合は、後で見てみることができます。今カフェで。 – Matthew

+0

私はまだルータのアウトレットを使用しようとしていませんでしたが、 ''にはベースルートを追加できますか? https://github.com/NativeScript/nativescript-angular/blob/master/ng-sample/app/examples/router/router-outlet-test.ts#L67 – Matthew

答えて

1

は、それが(先頭の "/" を追加)Navigateメソッドでは絶対パスを指定することで、作業ガット:

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

Alexander Vakrilovありがとう、私は同じことを昨日考えました - しかし走ったRC4とrputer3.0β2にアップグレードした後にまったく別の問題になる... GIT REPOの最新コードを参照してください。あなたにアイデアがあるかどうかアドバイスしてください... https://github.com/rrcoolp/test-router-app – Rrcoolp