2016-08-08 11 views
17

Angular2 uygulamalarındaki yönlendirme iyi çalışıyor. Ama this dayalı bazı routeLink yapacağım: Burada RouterLink çalışmıyor

benim yönlendirme: Burada

const routes: RouterConfig = [ 
    { path:'home' , component: FormComponent }, 
    { path:'about', component: AboutComponent }, 
    { path:'**' , component: FormComponent } 
]; 

Ve yapılan bağlantılar ise:

<ul class="nav navbar-nav item"> 
        <li> 
         <a routerLink='/home' routerLinkActive="active">Home</a> 
        </li> 
        <li> 
         <a routerLink='/about' routerLinkActive="active">About this</a> 
        </li> 
</ul> 

beklediğim zaman i üzerlerine tıklayın, saygı duyulan bileşene gider, ancak hiçbir şey yapmazlar mı?

<ul class="nav navbar-nav item"> 
    <li> 
     <a [routerLink]="['/home']" routerLinkActive="active">Home</a> 
    </li> 
    <li> 
     <a [routerLink]="['/about']" routerLinkActive="active">About this 
     </a> 
    </li> 
</ul> 

Kodun bu tutorial

+0

Lütfen "[routerLink] =" [/ home '] 'ı deneyebilir misiniz? Hangi Angular2 sürümü ve yönlendirici sürümünü kullanıyorsunuz? –

+0

çalışmıyor. senin qutations yeriniz ile emin misin? Angular2'nin son sürümünü kullanıyorum ama nasıl kontrol edeceğimi bilmiyorum. ** ng new ** ile oluşturdum. –

+1

güncellenmelidir. Üzgünüz, '' '[routerLink] =" ['/' ev '] "' –

cevap

69

okuyabilir: mroe bilgi için böyle

+0

thks arkadaşım bana yardım et –

1

kullanımı bunu bu topic

<a [routerLink]="['/about']">About this</a> 
+5

Bağlantınıza göre, 'routerLink' çalışmalıdır ;-) –

+0

Bu," @ açısal/yönlendirici "için çalışır:" ~ 3.4.0 " . Şerefe! – mikeym

+1

Evet, dirsek notasyonu çalışır (ve belirli bir amaca göre geçerli bir sözdizimi), ancak bu sorunun bir çözümü değildir. – isherwood

0

bağlantılar yanlış, bunu yapmak zorunda okumak Kesinlikle doğru olduğunu gösteriyorsun.

Sorununuzun, bu şablonu kullanan modülün içine RouterModule (RouterLink'in nerede olduğu bildirilir) almadığınızdan şüpheleniyorum.

Benzer bir sorunla karşılaştım ve bu adımın belgelerde belirtilemediği için çözülmesi biraz zaman aldı.

Yani bu şablonla bileşeni beyan modülünde gidip ekleyin: Sonra

import { RouterModule } from '@angular/router'; 

örneğin Modüllerinizin ithalatı eklemek O routerLink gösterilmesini için de böylece HTML işaretlemesi yere yerleştirilmesi gerekir, böylece doğru içe aktarma ifadelerini olan birlikte

@NgModule({ 
    imports: [ 
    CommonModule, 
    RouterModule 
    ], 
    declarations: [MyTemplatesComponent] 
}) 
export class MyTemplatesModule { } 

, ayrıca, <router-outlet></router-outlet> eleman olan bir yer gerekir yönlendirici, bu verinin nerede görüntüleneceğini bilir.

4

bu aşağıda bu eklemeyi unutmayın Şablonunuz:

<router-outlet></router-outlet> 
+0

** ** – zai

+0

Bu cevap oldu :) – Makky

İlgili konular