2016-08-29 10 views
2

Ich bekomme diesen Fehler, wenn ich auf die letzte Version von nativescript-angular aktualisiert habe, nehme ich an, das Problem hängt mit dem Unterschied in der Version von Angular 2 Ich benutze und die eine von dem Modul verwendet. Kann mir jemand sagen, welche Versionen ich verwenden sollte, damit es funktioniert? Beachten Sie, dass meine Absicht, auf die letzte Version von nativescript-angular zu aktualisieren, die Verwendung des RouterExtensions war.Angular 2: Das Argument vom Typ 'Route []' kann nicht dem Parameter 'Route []' zugewiesen werden.

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[] 

das sind meine package.json Abhängigkeiten:

"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" 
    }, 

die app.routes.ts:

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

Klingt, als ob Sie 'Route' aus 2 verschiedenen Paketen importieren. –

Antwort

2

Es scheint RouterConfig von @angular/router exportiert kein Eigentum. Verwenden Sie stattdessen Routes.

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

Ich machte einen Schreibfehler, ich schrieb Route statt Routes und bekam den gleichen Fehler. Dank der Antwort haben sich die Änderungen geändert und es hat funktioniert. – heman123

2

Ich hatte gerade das gleiche Problem, aber Ursache des Problems war, dass Paket ich mit Winkel 2 und Projekt gebaut wurde mit gebaut wurde mit Winkel 4. Obwohl Paket mit Versionen arbeitet 2+ Das Problem war, dass die Methode alte (ng2) Routen erwartete, aber neue (ng4) Routen erhielt. Anscheinend gibt es einen Unterschied.

Meine Lösung war, Typdefinition zu entfernen, wie meine Routen als jeder Typ übergeben.

Verwandte Themen