angularjs - 如何使用 ui.router 模块通过 url 将数组传递给 AngularJS 应用程序

标签 angularjs angular-ui-router

我使用 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/

相关文章:

angularjs - Angular 安装

javascript - 在 Bitmovin 播放器中使用 angularjs/ngDialog 模式的问题

javascript - 用户界面.路由器 : Save $state state when leaving and continous when reentering

javascript - Angular UI Router 仅加载第一个声明的子状态

angular-ui-router - 角 Dart : How to change partial parts of layout based on navigation?

javascript - 如何在 AnglujarJS ng-repeater 中选择特定元素?

javascript - soundcloud 搜索 api 忽略持续时间过滤器?

javascript - AngularJS - forEach() 带有来自 $resource 的空数组

javascript - AngularJS 组件在 UiRouter 路由更改时监视并显示通知

angularjs - Angular UI-Router 将解析传递给子 onEnter