Angular 2'yi "depricated" işaretli yönlendiriciyi kullanarak yükseltdim ve "new" yönlendiricisini rc5 ve rc6'da kullanmaya başladım. Ancak şu anda bir sorunum var (rc5'de başlamış ve hala rc6'da da aynıdır). Burada aynı bileşene gitmesi gereken ancak farklı parametreler içeren bir bileşene sahip olmak (diğer verileri almak için, o anda tümüyle görünümünde olanı). parametreler üzerinde).Aynı bileşen için açısal 2 rota
Depolu yönlendiricisinde, this.router.navigate ile bileşene giderken her zaman çağrılan yapıcı ve AfterViewInit vb. Yeni yönlendiricide, birbiri ardına aynı bileşeni çağırırken kurucu ve diğer şeyler aranmaz. Yani sanırım bir çeşit "büyü"/önbellek var. Ayrıca, bileşen içine gerekli bir parametre ve birkaç isteğe bağlı parametre gönderdiğim için bağlantının şu şekilde bir şey görmesi gerektiğini unutmayın: http://localhost:2222/mycomponent/1;someotherparam=123
Bileşeni, her seferinde gezinmek için oluşturmaya zorlamanın bir yolu var mı?
Harika bir yanıt değil, ancak ng2'yi doğru şekilde kullandığınızdan emin değilim. Farklı bileşenlerle aynı bileşene yönlendirilmemelisiniz. Bileşeninizi değiştirmek için dahili durum değişikliklerini kullanın. Değiştirilecek URL'ye ihtiyacınız varsa, bu cevabı inceleyin: http://stackoverflow.com/questions/35618463/change-route-params-without-reloading-in-angular-2/39322473#39322473 –
Stres yapmalıyım navigasyon kodunun şimdi eski yönlendirici üzerinde çalıştığı, şimdi depricated/remove. Angular 2'nin birçok sürümünde uzun süre çalıştı, ancak sorun yeni yönlendirici ile. Geri/ileri düğmesiyle de ileri geri hareket edebilmeye ihtiyacım var ve doğru veri, URL parametrelerine göre yüklenir. Sadece URL'yi değiştirmek benim durumumda benim için iyi sonuç vermez (özellikle kullanıcı geri/ileri düğmelerini tıklattığında, bileşen için verilerin yeniden yüklenmesi gerekir). – alexsoftware
Şimdi bunun açısal 2 yönlendirici ile bir hata olduğuna inanıyorum. Yeni bir rota (aynı bileşen olsa bile) bileşen tekrar oluşturulmalıdır. Bileşenin yapıcısına bunu ekleyerek bir geçici çözümüm var: yönlendirici.events.subscribe ((olay: Olay) => { if (olayı NavigationEnd öğesinde) {// ActivatedRoute içindeki parametrelere göre veri yükleme}}) ; Bu, rota değiştiğinde toplanmayı mümkün kılar ve verileri buna göre yükler. – alexsoftware