Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 错误:[筛选器:notarray]ng选项中应有数组_Javascript_Angularjs - Fatal编程技术网

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
]
请看一下您的文档