2016-04-08 14 views
2

değilAngular2 TypeError: linkParams.forEach ben Tıklama etkinliğini bir işlevinden açıkça rota gitmek için çalışıyorum bir işlev

<a (click)="loadContact()">Contact</a> 

AppComponent sınıfının bu şekilde

export class AppComponent{ 

    constructor(private _router:Router){} 

    public loadContact = function(){ 
     ... 
     ... 
     this._router.navigate('[Contact]'); 
    } 
} 

Ama tanımlanır Bu hatayı alıyordum

TypeError: linkParams.forEach is not a function 

Nasıl düzeltebilirim?

DÜZENLEME: İşte

RouteConfig olduğunu

@RouteConfig([ 
    { path: '/contact', name: 'Contact', component: ContactsComponent }, 
    { path: '/notes', name: 'Notes', component: NotesComponent } 
]) 
+0

Mesaj 'Contact' rota yapılandırma? – dfsq

+0

AppComponent'ın '@ Bileşen 'dekoratör ve' bootstrap() 'ismini gösterebilir misiniz? – micronyks

+0

Contact 'yi kullanırsam çalışır, ancak istediğim bu değil. – Shri

cevap

7

TypeError: linkParams.forEach is not a function

Hata nedeni: çok taşıma hatayı daha iyi sağlamak için Bildirilen When a redirect, or router link is setup incorrectly and an array is not provided, an error is thrown

: https://github.com/angular/angular/issues/7952

Kodunuz

İşte

:

this._router.navigate('[Contact]'); 

bir dize var. Olmalıdır:

this._router.navigate(['Contact'] /* some array */); 

Daha

https://angular.io/docs/ts/latest/guide/router.html#!#link-parameters-array

+0

Oh! Bu çalıştı .. Ben bu._router.navigate (['İletişim']), ' – Shri

+0

olarak değiştirin lütfen cevabı güncelleştirin – Shri

+1

@ shri Ben bu soruyu bir göz atın lütfen – basarat

1
this._router.navigate(['Contact']); 
İlgili konular