2016-03-18 15 views
3

Basit bir uygulamanız var Bir rotaya gitmeye çalıştığımda bir sorunum var. Benim ana bileşeni:Açısal 2: tarayıcıda url değişikliği ancak görünüm görüntülenmiyor

@Component({ 
    selector: 'my-app', 
    template: ` 
    <ul class="my-app"> 
     <li> 
      <a [routerLink]="['Login']">Login</a>  
     </li> 
     <li> 
      <a [routerLink]="['Projects']">Projects</a> 
     </li> 
    </ul> 
    <br> 
    <router-outlet></router-outlet>`, 
    directives: [ROUTER_DIRECTIVES], 
    providers: [ROUTER_PROVIDERS] 
}) 
@RouteConfig([ 
    { 
     path: '/Login', 
     name: 'Login', 
     component: LoginFormComponent, 
     useAsDefault: false 
    }, 
    { 
     path: '/Projects', 
     name: 'Projects', 
     component: ListProjectsComponent, 
     useAsDefault: true 
    } 
]) 

    export class AppComponent { ... 
    ... 

ve ben tıkladığımda 'index.html' ana sayfaya

<head> 
    <base href="/"> 
    </head> 

için temel href eklendi

@Component({ 
    selector: 'login-form', 
    template: 
     ` 
     <button (click)="goToProjects()">Go To Projects!</button> 
     `, 
    directives: [ROUTER_DIRECTIVES], 
    providers: [LoginService, ROUTER_PROVIDERS] 
}) 

export class LoginFormComponent implements OnInit { 
... 
goToProjects(){ 
     let link = ['Projects',{}]; 
     this.router.navigate(link); 
    } 
.. 
} 

temel bileşeni var düğmesi, adres çubuğundaki URL değişiyor, ancak görünüm görüntülenmiyor, ne yanlış gidebilir? Navigasyon:

cevap

8

ben "kazara" Bootstrap sınıf zaten o zaman en her bileşenin bunları kaldırmak için gerekli "ROUTER_PROVIDERS" ilan ederse Yani, bazı işlemi başarısız sessizce başka bir soru

bootstrap(
    TestComponent, 
    [ 
     ROUTER_PROVIDERS, 
     // must be listed after `ROUTER_PROVIDERS` 
     provide(LocationStrategy, { useClass: HashLocationStrategy }) // not interested in this just in the original answer 
    ] 
); 

providers: [ROUTER_PROVIDERS] // <-- ** delete this line this is what worked!** 
from LoginComponent 

için bu Answer bulundu veya hashbang (orijinal cevapta olduğu gibi) ve belki başka şeyler ..

+0

Tanrı sizi korusun, günümü kurtardın! – Ivan

+0

garip bir şekilde, bu çözümü uygularken işe yarayabilir, ancak şimdi tüm sayfalarım çok yavaş yükleniyor ve giderek daha yavaş oluyor. Nav içindeki üçüncü tıklama ile, görünümün güncellenmesi için 5-10 saniye bekliyorum. –

+0

bu ROUTER_PROVIDERS değeri amortismana tabi tutuldu. Yeni alternatif hakkında herhangi bir güncelleme var mı? sorun benim URL'm değişkendir ancak bileşen yüklenmiyor ve bende bootstrap yok, malzeme var. tavsiye? – Apoorv

İlgili konular