angularjs filter notarray不是一个数组



你好,我知道有一些标题相似的帖子,但我找不到适合我需要的。

我试图在角度上过滤一个物体阵列,它给了我错误过滤器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

最新更新