私はNativeScript 2.1.0とTypeScript 1.8.10のアプリを、Angular2 rc3で新しい角度ルータバージョン3.0.0-alpha.7を使って作業しています。私はページルータのアウトレットを使用しようとしていますが、エラーが発生しています。私は現在、Windows上のエミュレータでAndroid 5.1.1でコンパイルとテストを行っています。アプリは一度私のために実行したが、それでも私はCannot match any routes: ''
エラーがあった。私は何かを変更しましたが(何が分からないのですか)、今実行すると空白のページしか表示されません。これは私のPageNavigationAppコンポーネントです。私の意図はページ1とページ2にアクセスすることですが、私はページルータ/アウトレットコンポーネントの役割を理解していないと思います。それはさておき、私はアプリが実行されているときに多くのエラーが発生しています。'NativeScript、TypeScript、Angular2
は、ここに私のmain.tsのコードファイルの:未定義の「」とプロパティを読み取ることができません「visitExpression」:
import {nativeScriptBootstrap} from 'nativescript-angular/application';
import {Component} from '@angular/core';
import {Router, RouterConfig} from '@angular/router';
import {NS_ROUTER_DIRECTIVES, nsProvideRouter} from 'nativescript-angular/router';
@Component({
selector: 'nav',
directives: [NS_ROUTER_DIRECTIVES],
template: `<page-router-outlet></page-router-outlet>`
})
export class PageNavigationApp {
}
@Component({
selector: "first",
directives: [NS_ROUTER_DIRECTIVES],
template: `
<StackLayout>
<Label text="First component" class="title"></Label>
<Button text="GO TO SECOND" [nsRouterLink]="['/second']" class="link"></Button>
</StackLayout>`
})
export class FirstComponent { }
@Component({
selector: "second",
directives: [NS_ROUTER_DIRECTIVES],
template: `
<StackLayout>
<Label text="Second component" class="title"></Label>
<Button text="GO TO FIRST" [nsRouterLink]="['/first']" class="link"></Button>
</StackLayout>`
})
export class SecondComponent { }
const routes: RouterConfig = [
/*{path: "", redirectTo: "/first", terminal: true },*/
{path: "nav", component: PageNavigationApp},
{path: "first", component: FirstComponent},
{path: "second", component: SecondComponent}
]
export const APP_ROUTER_PROVIDERS = [
nsProvideRouter(routes, {enableTracing: false})
]
nativeScriptBootstrap(PageNavigationApp, [APP_ROUTER_PROVIDERS]);
私は取得していたエラーは、任意のルートを照合することはできませんです。
私はこの記事を見つけました。デフォルトルートについては、私は一致するようにコードを変更しました(私はとにかく思っています)。下記参照。 angular2 rc3 router alpha 3.0.0.7 default route
EDIT
私は次の私のコードを変更しましたが、私はvisitExpressionエラーを取得しています:
...
@Component({
selector: 'nav',
directives: [NS_ROUTER_DIRECTIVES],
template: `<page-router-outlet></page-router-outlet>`
})
...
const routes: RouterConfig = [
{path: '', redirectTo: '/first', terminal: false },
{path: 'first', component: FirstComponent},
{path: 'second', component: SecondComponent}
]
私は取得しています新しいエラーがある:
Uncaught (in promise): TypeError: Cannot read property
'visitExpression' of undefined at resolvePromise
(/data/data/org.nativescript.myapp/files/app/tns_modules/
zone.js/dist/zone-node.js:496:32)
もしかするとわかりませんが、https://github.com/NativeScript/sample-Groceriesのマスターブランチをng2 RC3にアップグレードし、新しいルーターとそれまで実行しています。つまり、Firebase(まだ)は使用していませんが、それでも興味深い参照があると思います。 –
@TJVanTollアップデートTJをありがとう。私はFirebaseを使用していませんが、私はGroceries Appを見直して、違いがあるかどうか確認します。私はあなたが食料雑貨店でページルータ出口を使用していないことを一つ考えます。 – HK1
私は私のiosシミュレータであなたのコードをテストし、素晴らしい仕事をしました。パッケージが最新であるかどうかを確認するには、https://github.com/NativeScript/template-hello-world-ngでpackage.jsonを確認してください。 –