您好我知道有一些帖子有类似的标题,但我找不到符合我需要的帖子。
我正在尝试过滤角度上的对象数组,它给我的错误过滤器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]
答案 0 :(得分:1)
应用所有过滤器后添加track by $index
:
ng-repeat="data in trabajadores.worker | filter:workerFilter:strict track by $index