网址有多个具有相同名称的参数:
?myarray=value1&myarray=value2
如何使用$state.href
我应该以params身份传递什么?
答案 0 :(得分:1)
我想说,你是“幸运的家伙”,因为该功能只是最近发布的UI-Router
的一部分。在这里查看:
$stateProvider
.state('home', {
url: '/home?myarray',
views: {
'': {
templateUrl: 'myView.html',
controller: 'MyController',
}
},
params: {
myarray: { array: true, },
},
}
$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 }
}