2016-03-31 17 views
3

Angular 1.5 ve ui.router modülünü kullanıyorum ve int dizisini uygulama URL'sine atmak istiyorum. www.example.com/#/filter?[1,2,5] veya www.example.com/#/filter/[1,2,5] veya başka bir şey.Ui.router modülünü kullanarak url aracılığıyla AngularJS uygulamasına dizi aktarımı

.state('cats', { 
      url: '/filter?catsIds', // or /filter/{catsIds} 
      templateUrl:'cats.html', 
      controller: 'catsCtrl' 
     }) 

hedefi: geçen değeri , sonra geçmesi & ayrılmış yaparken Bir ui-yönlendirici parametre üzerinden nesneyi geçemez

app.controller('catsCtrl',function($stateParams){ 
    console.log(Array.isArray($stateParams.catsIds)) // goal true 
    ... 
+0

senin örneğin fark , tarafından bu dize bölmek yok iken URL yanlış dizi parametresi kullanıyor, örneğin virgül kullanmayı deneyin www.example.com/#/filter?catsIds=1,2,5 – d3l33t

cevap

5

, diyebilirim. devlet arama sırasında

Yani

$state.go('cats', { catsIds: [1,2,5].join(',') }) 

URL'ye aşağıda oluşturacak aşağıda böyle bir şey yapmak

www.example.com/#/filter/1,2,5 

$stateParams üzerinden okunması

app.controller('catsCtrl',function($stateParams){ 
    console.log($stateParams.catsIds.split(',')) 
İlgili konular