Javascript 错误:[筛选器:notarray]ng选项中应有数组
我有这个东西Javascript 错误:[筛选器:notarray]ng选项中应有数组,javascript,angularjs,Javascript,Angularjs,我有这个东西 { "0":{ "id":"7", "nombre":"127", "ciudad":"1" }, "1":{ "id":"8", "nombre":"cll 155", "ciudad":"1" }, "2":{ "id":"10", "nombre":"Cra 30", "ciudad":"1" }, "3":{
{
"0":{
"id":"7",
"nombre":"127",
"ciudad":"1"
},
"1":{
"id":"8",
"nombre":"cll 155",
"ciudad":"1"
},
"2":{
"id":"10",
"nombre":"Cra 30",
"ciudad":"1"
},
"3":{
"id":"30",
"nombre":"Repuestos",
"ciudad":"1"
},
"4":{
"id":"6",
"nombre":"Ibagué",
"ciudad":"3"
},
"5":{
"id":"9",
"nombre":"Villavicencio",
"ciudad":"2"
}
}
如果我在ng options
中使用它,它会工作得很好,并且会创建选项
<select name="user_dealer"
ng-model="formModel.user_dealer"
ng-options="dealer.nombre for dealer in concesionarios">
<option value="" ng-if="!formModel.user_dealer">Concesionario</option>
</select>
让步
但是,当我添加过滤器时:
<select name="user_dealer"
ng-model="formModel.user_dealer"
ng-options="dealer.nombre for dealer in concesionarios | filter: {ciudad:1}">
<option value="" ng-if="!formModel.user_dealer">Concesionario</option>
</select>
让步
我得到这个错误
错误:[筛选器:notarray]预期为数组,但收到:
{“0”:{“id”:“7”,“名称”:”
127,“城市”:“1”},“1”:{“id”:“8”,“名称”:“cll”
155,“城市”:“1”},“2”{“id”:“10”,“名义”:“Cra”
“城市”:“1”},“3”{“id”:“30”,“名义”:”
共和国“,”公民“:”1“}”,4“{”id“:”6“,”名义“:”
Ibagué,“ciudad”:“3”},“5”{“id”:“9”,“nombre”:”
维拉维森西奥,“城市”:“2”}
出现错误,因为ngFilter需要数组,而不是对象。您可以将
consionarios
对象转换为数组,并对HTML执行以下操作:
<select name="user_dealer"
ng-model="formModel.user_dealer"
ng-options="dealer as dealer.nombre in concesionarios | filter: {ciudad:1}">
<option value="" ng-if="!formModel.user_dealer">Concesionario</option>
</select>
让步
说明:
从数组中选择项的子集,并将其作为新数组返回
consionarios
对象不是数组,因此filter
不起作用。consionarios
对象应如下所示:
[
{
"id":"7",
"nombre":"127",
"ciudad":"1"
},
{
"id":"8",
"nombre":"cll 155",
"ciudad":"1"
},
{
"id":"10",
"nombre":"Cra 30",
"ciudad":"1"
},
... // other objects
]
请看一下您的文档