2016-08-29 8 views
2

nativescript-angularの最新バージョンに更新したときにこのエラーが発生しました。この問題は、使用しているAngular 2のバージョンと、モジュールで使用されているバージョンの違いと関連していると思います。誰も私にそれを動作させるために使うべき正しいバージョンが何であるか教えてくれますか? nativescript-angularの最新バージョンにアップグレードする予定が、RouterExtensionsを使用していたことを念頭に置いてください。角2: 'Route []'型の引数は、 'Route []'型のパラメータに代入できません。

"dependencies": { 
    "@angular/common": "2.0.0-rc.4", 
    "@angular/compiler": "2.0.0-rc.4", 
    "@angular/core": "2.0.0-rc.4", 
    "@angular/forms": "0.3.0", 
    "@angular/http": "2.0.0-rc.4", 
    "@angular/platform-browser": "2.0.0-rc.4", 
    "@angular/platform-browser-dynamic": "2.0.0-rc.4", 
    "@angular/platform-server": "2.0.0-rc.4", 
    "@angular/router": "^3.0.0-rc.1", 
    "@angular/router-deprecated": "2.0.0-rc.2", 
    "@angular/upgrade": "2.0.0-rc.4", 
    "nativescript-angular": "^0.3.1", 
    "nativescript-plugin-firebase": "^3.5.3", 
    "reflect-metadata": "^0.1.8", 
    "rxjs": "5.0.0-beta.6", 
    "tns-core-modules": "^2.3.0-2016-08-29-3966", 
    "zone.js": "^0.6.17" 
    }, 

app.routes.ts:

Argument of type 'Route[]' is not assignable to parameter of type 'Route[]'. 
    Type 'Route' is not assignable to type 'Route'. 
    Types of property 'pathMatch' are incompatible. 
     Type 'string' is not assignable to type '"full" | "prefix"'. 
     Type 'string' is not assignable to type '"prefix"'. 
const routes: Route[] 

これらは私のpackage.jsonの依存関係です

import { RouterConfig } from '@angular/router'; 
import { nsProvideRouter} from 'nativescript-angular/router'; 
import { LoginComponent } from './components/login.component'; 
import { DashboardComponent } from './components/dashboard.component'; 


const routes: RouterConfig = [ 
    { 
     path: '', 
     redirectTo: '/login', 
     terminal: true 
    }, 
    { 
     path: 'login', 
     component: LoginComponent 
    }, 
    { 
     path: 'dashboard', 
     component: DashboardComponent 
    } 
]; 


export const APP_ROUTER_PROVIDERS = [ 
    nsProvideRouter(routes, { enableTracing: false }) 
]; 
+0

2つの異なるパッケージから 'Route'をインポートしているようですね。 –

答えて

2

何のプロパティRouterConfig@angular/routerによってエクスポートはないように思えます。代わりにRoutesを使用してみてください。

const routes: Routes = [ // <== 
    { 
     path: '', 
     redirectTo: '/login', 
     terminal: true 
    }, 
    { 
     path: 'login', 
     component: LoginComponent 
    }, 
    { 
     path: 'dashboard', 
     component: DashboardComponent 
    } 
]; 
+1

私はスペルミスをしました、私はルートの代わりにルートを書いて、同じエラーを受けました。答えに感謝して変更を加え、それがうまくいった。 – heman123

2

私は同じ問題を抱えていたが、問題の原因は、私が使っていたパッケージは、パッケージがバージョンで動作、が角度4.で構築された角度2やプロジェクトで建設されたということでした2+問題は、メソッドが古い(ng2)ルートを期待していたが、新しい(ng4)ルートが与えられたということでした。 明らかに違いがあります。

私の解決策は、のいずれかのタイプとして、自分のルートを渡すようにタイプ定義を削除することでした。

関連する問題