Evet, bunu router.navigateToRoute()
yöntemiyle yapabilirsiniz. navigateToRoute
ek parametrelere sahiptir. Navigasyonun nasıl yapıldığını değiştirmek için options
(üçüncü) parametresini kullanın.
Örnek:
import {inject} from 'aurelia-framework';
import {Router} from 'aurelia-router';
@inject(Router)
export class Products {
constructor(router) {
this.router = router;
}
activate(params) {
// TODO: Check your params here and do navigate according to values
this.router.navigateToRoute(
this.router.currentInstruction.config.name, // current route name
{ '0': params['0'] }, // route parameters object
{ trigger: false, replace: true } // options
);
}
}
documentation hub kaynaktan: Belirli bir rota ve parametreler tekabül eden yeni bir konuma
navigateToRoute(route: string, params?: any, options?: any): boolean
dolaşır.
Parametreler
route: string
- navigasyon konumunu oluştururken rotanın adı kullanmak.
params?: any
- Rota desenini doldururken kullanılacak yol parametreleri.
options?: any
- Gezinme seçenekleri. options
ile
nasıl history is updated kontrol eder.
trigger: false
- yönlendirici navigasyon boru hattı
replace: true
tetiklenmesi engeller - bu tarayıcı geri işlevselliği ile tetiklenen olmayacak, böylece sağlanan rota (yeniden yazma tarih) ile tarihte geçerli URL'yi değiştirir
Harika çalışıyor - Teşekkürler! Bulduğum bir gelişme, geçerli rota adını program aracılığıyla almak için 'products'-string'ini this.router.currentInstruction.config.name' ile değiştirmekti. Bu değişikliği cevabınıza ekleyebilirsin. :) – Mike
Harika. Tabii ki, mevcut rotaya gitmeniz gerekiyorsa bu işe yarayacaktır. Cevap değiştirildi. –