Eu tenho a minha controller:
angular.module("appLista").controller("ListaTelefonicaController", function ($scope, $http) {
$scope.app = "Lista Telefonica";
$scope.contatos = [];
var carregarContatos = function (){
$http.get("http://localhost:8080/Restful/provas/listarProvas")
.success(function (data, status){
$scope.contatos = data;
});
};
$scope.operadoras = [
{nome: "Oi", codigo: 14, categoria: "Celular"},
{nome: "Claro", codigo: 15, categoria: "Celular"},
{nome: "Vivo", codigo: 16, categoria: "Celular"},
{nome: "Embratel", codigo: 17, categoria: "Fixo"},
];
$scope.adicionarContato = function (contato) {
$scope.contatos.push(angular.copy(contato));
delete $scope.contato;
$scope.contatoForm.$setPristine();
};
$scope.apagarContato = function(contatos){
$scope.contatos = contatos.filter(function(contato){
if(!contato.selecionado) return contato;
});
};
$scope.ordernarPor = function(campo){
$scope.criterioDeOrdenacao = campo;
$scope.direcaoDaOrdenacao = !$scope.direcaoDaOrdenacao;
};
carregarContatos();
});
E na view eu quero popular uma tabela com os dados retornados do $scope.contatos que é um Json ({"usuario":[{"email":"tassi@gmail.com","idUsuario":"3","nome":"Tassiany","senha":"rse"},{"email":"tiagorrr.tr@gmail.com","idUsuario":"1","nome":"Tiago Penha","senha":"123"}]}), eu tentei fazer dois ng-repeat só que não deu certo.
--View
body ng-controller="ListaTelefonicaController">
<div class="jumbotron">
<div class="formulario">
<h3>{{app}}</h3>
<input class="form-control" type="text" ng-model="criterioDeBusca" placeholder="O que você esta buscando?">
<table ng-show="contatos.length > 0" class="table">
<tr>
<th></th>
<th><a href="" ng-click="ordernarPor('nome')">Nome</a></th>
<th>Telefone</th>
<th><a href="" ng-click="ordernarPor('operadora')">Operadora</a></th>
<th></th>
<th>Data</th>
</tr>
<tr ng-class="{'selecionado negrito': contato.selecionado}" ng-repeat="contato in contatos | filter: criterioDeBusca | orderBy: criterioDeOrdenacao:direcaoDaOrdenacao">
<td><input type="checkbox" ng-model="contato.selecionado"></td>
<td>{{contato.nome}}</td>
<td>{{contato.telefone}}</td>
<td>{{contato.operadora.nome}}</td>
<td><div style="width:20px; height:20px;" ng-style="{'background-color': contato.cor}"></div></td>
<td>{{contato.data | date:'dd/MM/yyyy'}}</td>
</tr>
</table>
<hr/>
<form name="contatoForm">
<input class="form-control" type="text" ng-model="contato.nome" name="nome" placeholder="Nome" ng-required="true" ng-minlength="10"/>
<input class="form-control" type="text" ng-model="contato.telefone" name="telefone" placeholder="Telefone" ng-required="true" ng-pattern="/^\d{4,5}-\d{4}$/"/>
<select class="form-control" ng-model="contato.operadora" ng-options="operadora.nome group by operadora.categoria for operadora in operadoras | orderBy: 'nome'">
<option value="">Selecione uma operadora</option>
</select>
</form>
<div ng-show="contatoForm.nome.$dirty" ng-messages="contatoForm.nome.$error">
<div ng-message=".required" class="alert alert-danger">
Por favor, preencha o nome.
</div>
<div ng-message=".minlength" class="alert alert-danger">
O campo nome deve ter no minimo 10 caracteres
</div>
</div>
<div ng-show="contatoForm.telefone.$error.required && contatoForm.telefone.$dirty" class="alert alert-danger">
Por favor, preencha o campo telefone.
</div>
<div ng-show="contatoForm.telefone.$error.pattern" class="alert alert-danger">
O campo telefone deve ter o formato DDDDD-DDDD.
</div>
</div>
<button class="btn btn-primary btn-block" ng-click="adicionarContato(contato)" ng-disabled="contatoForm.$invalid">Adicionar Contato</button>
<button class="btn btn-danger btn-block" ng-click="apagarContato(contatos)" ng-if="isContatoSelecionado(contatos)">Apagar Contato</button>
</div>
</div>
</body>
</html>