【发布时间】:2015-05-08 14:06:14
【问题描述】:
我的 AngularJS 过滤器不适用于对象。
查看:
<input type="text" ng-model="searchKeyUser.$" placeholder="Pesquisar Chaves" class="form-control"><br>
<ul class="list-group">
<li class="list-group-item clicavel chaves" ng-repeat="chave in keyUsers | filter:searchKeyUser" ng-class="{ active:Grupo.isActiveKey(chave.Chave.id)}" ng-click="Grupo.mostrar()">
{{chave.Chave.chave}}{{chave.show}}
</li>
</ul>
我尝试使用 searchKeyUser.$、searchKeyUser.Chave.$、searchKeyUser.Chave.chave,但什么也没发生。详细信息:{{chave.Chave.chave}}{{chave.show}} 文本正在运行。
编辑: js代码:
(function() {
var app = angular.module('groupUsers', []);
app.controller('GroupsController', function($scope, $http){
//Busca rel Chaves Usuarios
$http.get(myBaseUrl + '/QlikRelKeyUser/retornoGroups').success(function(data, status, headers, config) {
$scope.keyUsers = data;
console.log($scope.keyUsers);
for(x in $scope.keyUsers){
aux = 0;
qtd = $scope.keyUsers[x].QlikUser.length;
for(y in $scope.keyUsers[x].QlikUser){
aux++;
if(qtd == 1){
$scope.keyUsers[x].show = ' (' + $scope.keyUsers[x].QlikUser[y].nome + ')';
}else if(aux == qtd){
$scope.keyUsers[x].show += ', ' + $scope.keyUsers[x].QlikUser[y].nome + ')';
}else{
if(aux==1){
$scope.keyUsers[x].show = ' (' + $scope.keyUsers[x].QlikUser[y].nome;
}else{
$scope.keyUsers[x].show += ', ' + $scope.keyUsers[x].QlikUser[y].nome;
}
}
}
}
console.log('');
}).error(function(data, status, headers, config) {
console.log('NÃO FUNFOU');
console.log(config);
});
$scope.searchKeyUser = {$:''};
});
编辑 2: 相同的观点:
<input type="text" ng-model="searchGroup.$" placeholder="Pesquisar Grupos" class="form-control"><br>
<ul class="list-group" >
<li class="list-group-item clicavel" ng-repeat="group in grupos | filter:searchGroup" ng-class="{ active:Grupo.isSet(group.QlikUserGroup.id)}" ng-click="Grupo.setActive(group.QlikUserGroup.id)">
{{group.QlikUserGroup.nome}}
<span class='badge bg-important'>1</span>
<span class='badge' stylee='padding-right:30px;'>{{Grupo.totalKeys(group.QlikUserGroup.id)}}</span>
</li>
</ul>
同样的JS:
$http.get(myBaseUrl + '/QlikUserGroup/retornoGroups').success(function(data, status, headers, config) {
$scope.grupos = data;
}).error(function(data, status, headers, config) {
console.log('NÃO FUNFOU');
console.log(config);
});
我的console.log($scope.grupos); 回复:
Array[67]
0: Object
$$hashKey: "object:530"
QlikUserGroup: Object
id: "1"
nome: "Name name name"
__proto__: Object
__proto__: Object
1: Object
2: Object
3: Object
4: Object
...
【问题讨论】:
-
也提供你的 js 代码。什么 searchKeyUser ?你试试过滤什么?所有领域?或通过一些?还是一个人?
-
我第一次尝试现在的样子
-
你确定
$scope.keyUsers是数组吗?好像是object -
哦,真的是对象,对不起
-
我正在使用 CakePHP 框架从数据库中获取对象
标签: javascript arrays angularjs filter cakephp-2.0