你好,我知道有一些标题相似的帖子,但我找不到适合我需要的。
我试图在角度上过滤一个物体阵列,它给了我错误过滤器notarray不是阵列
你能帮我做这个吗?这个物体像
{name:"some Name",lastName:"some lastname", address:"some address"}
我的目标是通过任何字段进行筛选。
我的HTML输入框搜索
<div class="input-field col s6">
<input value="Busqueda" id="busqueda" type="text" class="validate">
<label class="active" for="busqueda" ng-model="workerFilter.$">Busqueda</label>
</div>
我的HTML内容应该过滤
<tr ng-repeat="data in trabajadores.worker track by $index | filter:workerFilter:strict">
<td ng-repeat="value in trabajadores.values">
<div class="container" ng-show="!data.editingWorker">
{{data[value]}}
</div>
<div class="input-field col s4" ng-show="data.editingWorker">
<input value="{{data[value]}}" id="{{data[value]}}_id" type="text" class="validate" ng-model="data[value]">
<label class="active" for="{{data[value]}}_id">{{value}}</label>
</div>
</td>
<td>
<p>
<input type="checkbox" id="{{data}}_id" ng-click="trabajadores.toggleEditing(data)" />
<label for="{{data}}_id">Editar</label>
</p>
</td>
<td>
<i class="material-icons center black-text" ng-click="settings.deleteName(name)">delete</i>
</td>
</tr>
worker被分配为一个空数组,然后在页面加载时使用http.post调用api。
控制器:
this.worker = [];
this.getWorkers = function(){
$http({
method:'GET',
url:'http://x.x.x.x:8080/api/workers/get'
}).success(function(data){
self.worker = [];
data.forEach(function(element){
var object = JSON.parse(element);
self.worker.push(object);
});
console.log(self.worker); ///results pasted below
}).error(function (err) {
console.log(err);
});
};
这是一个console.log和一个工人示例
[Object, Object, Object, Object, Object]
阵列元件:
0: Object lastName: "test"name: "testName"
对象类型:
Objectlength: 5__proto__: Array[0]
应用所有过滤器后添加track by $index
:
ng-repeat="data in trabajadores.worker | filter:workerFilter:strict track by $index