具有相同名称的角度多重参数

时间:2014-12-10 23:01:40

标签: angularjs angular-ui angular-ui-router

网址有多个具有相同名称的参数:

?myarray=value1&myarray=value2

如何使用$state.href

检索此网址

我应该以params身份传递什么?

1 个答案:

答案 0 :(得分:1)

我想说,你是“幸运的家伙”,因为该功能只是最近发布的UI-Router的一部分。在这里查看:

API Reference $stateProvider

首先举例:

$stateProvider
  .state('home', {
    url: '/home?myarray',
    views: {
      '': {
        templateUrl: 'myView.html',
        controller: 'MyController',
      }
    },
    params: {
      myarray: { array: true, },
    },
  }

Doc extract

$stateProvider.state(name, stateConfig)获取对象 stateConfig ,该对象具有以下属性:

  

params (可选)对象

     

一个地图,可选择配置在url中声明的参数,或定义其他非url参数。对于要配置的每个参数,添加一个键入参数名称的配置对象。

     

每个参数配置对象可能包含以下属性:

     
      
  • value
  •   
  • 阵列
  •   
  • 壁球
  •   

这是设置数组的定义:

  

数组 - {boolean=}(默认值:false)如果为true,则param值将被视为值数组。如果指定了Type,则该值将被视为指定Type的数组。注意:查询参数值默认为特殊的“自动”模式。

     

对于“自动”模式下的查询参数,如果URL中存在单个参数的多个值(例如: /foo?bar=1&bar=2&bar=3 ),则值将映射到数组(例如:{ foo: [ '1', '2', '3' ] })。但是,如果只存在一个值(例如: /foo?bar=1 ),则该值将被视为单个值(例如: { foo: '1' } )。< / p>

params: {
    param1: { array: true }
}