Sen hiç, enjektör ve $ state.go kapmak gerek yok edin ... götürün ve bu params ile arama devlet yönlendirir. otherwise
yöntemine ilişkin argüman, 'un içinde parametresi bulunan bir URL yolu olabilir.
yüzden özel durumda, aşağıdaki kod = x
$urlRouterProvider.otherwise("/search?query=x");
Alternatif argüman bir URL yolu döndüren bir işlev olabilir base_url/search? Sorgusuna size yol açabilir. Hangi URL parametrelerine sahip olabileceğinden emin değilseniz, sadece $location
parametrelerini almanız ve ardından URL benzeri dizgiye dönüştürmeniz ve geri göndermeniz gerekir.
$urlRouterProvider.otherwise(function($injector, $location) {
var params = $location.search()
// format params to 'p1=v1&p2=v2' style
var formatted = Object.keys(params).map(function(key) {
return key + '=' + params[key]
}).join('&')
return '/search?' + formatted
});
Bu etkin html5mode benim için çalışmaz. Ayrıca plunkr'da yorumlanmıştır. Lütfen html5enabled ile bir örnek getirebilir misiniz? İki kez yeniden yönlendirilirim. Ben console.log yazdırdım ($ location, $ location.path(), $ location.search()) ;. İlk kez "/" Object {vid: "Auto1"} ve sonra "/" Object {} –
* Ben html 5 modunun hayranı ya da kullanıcısı değilim, ancak burada ayarlanmış sürüm sizsiniz: http: // plnkr.co/edit/yrfOXMeaCJEKt08ihw00?p=preview. Özetle: "mutlak" url'yi uygun şekilde dahil etmeyi unutmayın ... çünkü güvenli bir yerde yaşamıyoruz, güvenli yönlendirme yaptıktan sonra # ... –
Geri dönüşü yazmaya gerek yok $ location.path() ;.Bu, state.go işleviyle halihazırda bir devlet yönlendirmesi yayınlarken ek bir durum yönlendirmesi tetikler. –