我使用 Angular 1.5 和 ui.router 模块,并希望将 int 数组传递给应用程序抛出 url。 www.example.com/#/filter?[1,2,5] 或 www.example.com/#/filter/[1,2,5] 或其他内容。
.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(','))
关于angularjs - 如何使用 ui.router 模块通过 url 将数组传递给 AngularJS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36341198/