Estou com um problema ao apresentar a minha lista de itens do meu select.
Nesse meu HTML uso o ng-repeat para listar todos os itens, e quando minha tela é carregada meu primeiro e único item é: {{list.name}}, quando eu clico nesse item {{list.name}, ai carrega a lista de corretamente.
<select data-placeholder="Escolha uma Empresa/Filial" multiple chosen
style="width: 100%;"
ng-model="filtroRequisicao.codigoSistemaUsuariosFiliais"
required>
<option ng-repeat="list in lista" ng-value="list.id">
{{list.name}}
</option>
</select>
Angularjs:
$scope.lista = [{}];
//Carrega as Filiais dos Cooperados
$scope.loadFiliais = function () {
var usuario = localStorage.getItem("usuarioAutenticado");
var objetoUsuario = {};
objetoUsuario = JSON.parse(usuario);
$http({
method: 'PUT',
url: '/getFiliais',
data: objetoUsuario
}).then(function (response) {
$scope.lista = response.data;
console.log($scope.lista);
},
function (response) {
console.log(response.data);
$scope.showNoty('Nenhum dado encontrado.', 'information');
});
};
$scope.loadFiliais();
A lista se mantem a mesma, ou seja, deveria ter atualizado com o retorno da chamada:[quote=“josivanl, post:1, topic:351406”]
$scope.lista = response.data;
[/quote]
O meu select apresenta todo os itens que foi iniciado o $scope.lista e não os itens que recebe no meu response.data.
O que pode estar acontecendo é que sua função $scope.loadFiliais(); não esteja sendo executada ai iniciar seu controller, se esse for o caso faça ela retornar sua lista e chame ela no ng-repeat diretamente:
Fiz esse teste, usando no ng-repat usando uma função, e não deu certo.
O que ocorre é que no momento em que carrega a minha tela html o meu $scope.lista fica assim:
$scope.lista = []
Depois que é chamado a minha função [quote=“josivanl, post:1, topic:351406”]
$scope.loadFiliais();
[/quote]
A minha variável fica com os valores conforme imagem que postei anteriormente, mas o meu select/repeat já está preenchido com o valor primário da minha variável $scope.lista = []
Sabe como posso resolver isso, que o meu html (select/repeat) somente seja preenchido depois da minha função ser executada?
Tentei usar o ng-cloak, mas não tive suceso, continua sem carregar os valores corretamente