我使用Angular 1.5和ui.router模块,并希望将int数组传递到app throw url. www.example.com/#/filter?[1,2,5]或www.example.com/#/filter/[1,2,5]或其他内容. .state('cats', { url: '/filter?catsIds', // or /filter/{catsIds} templat
.state('cats', { url: '/filter?catsIds', // or /filter/{catsIds} templateUrl:'cats.html', controller: 'catsCtrl' })
目标:
app.controller('catsCtrl',function($stateParams){ console.log(Array.isArray($stateParams.catsIds)) // goal true ...你不能通过ui-router参数传递对象,我会说在传递值的同时使它成为分离的&然后通过它.
因此,在呼叫状态时,请执行以下操作
$state.go('cats', { catsIds: [1,2,5].join(',') })
将在URL下面形成
www.example.com/#/filter/1,2,5
从$stateParams中读取它时,将该字符串拆分为,
app.controller('catsCtrl',function($stateParams){ console.log($stateParams.catsIds.split(','))