2014-12-29 24 views
6

Bir arama sayfamız var ve bir yönetici paneli tarafından tanımlanabilen binlerce arama özelliğine sahibiz. Biz angular-ui-router kullanarak angularjs bir SPA olarak bu sayfayı uygulamak istediğinizdeKöşeli yönlendirici dinamik querystring tanımı

http://example.com/search?a12=3213&a314=412412&a247=1941829&.... 

, anlayamadım, biz bu rota yapılandırmasını tanımlayan ve nasıl olabilir nasıl: Bir karakteristik arama sonucu sayfası böyle bir URL var Tüm arama parametrelerini querystring'den okuyoruz. ui-router, $stateParams'da kullanmak üzere rota yapılandırmasında her sorguparam olasılığını tanımladığından zorlanır.

$stateProvider.state('search', { 
    url: '/search?a1&a2&a3&a4&a5' // what about a1314? 
    controller: function ($stateParams) { 
     console.log($stateParams.a1314); 
    } 
}); 

Bir geçici çözüm biliyor musunuz?

+0

maç olacak kullanabilirsiniz: https://github.com/angular-ui/ui- yönlendirici/sorunlar/84, ancak bunun gibi bazı geçici çözümler vardır: https://github.com/angular-ui/ui-router/issues/202 – L42y

cevap

2

herhangi bir parametre olmadan çağrıldığında, geçerli url (nesnesi) url: '/search' arama rotanın controller

geri dönmek arama kısmen $ location.search() kullanabilirsiniz.

var searchObject = $location.search(); 

// => {a12: '3213', a314: '412412'} 

console.log(searchObject .a12); //3213 

ve rota için size

url: '/search*' 

yüzden hiçbir resmi çözüm henüz yoktur inanıyorum

+2

Temel sorun, bir url, tanımlı olmayan bir sorgu parametresiyle geliyorsa rota yapılandırmasında, ui yönlendiricisi onu url'den kaldırır ve sayfa olmadan gösterir. –

+0

'/ search *' kullanmayı deneyin ' –

+0

Bu URL'ye nasıl bir bağlantı oluşturabilirim? –

İlgili konular