Bom dia! Tenho uma pequena dúvida referente ao Angular, gostaria de uma pequena ajuda se possível.
Tenho o seguinte controller:
angular.module('hotsite').controller('BannerController', function($scope, $http) {
$scope.banner = [];
$scope.bannerativo = [];
$http.get('/Admin/rest/getBanner')
.then(function onSuccess(response) {
var data = response.data;
$scope.banner = data;
// console.log(data);
var a = $scope.banner.BannerAtivo;
function checkBanner(a) {
if ($scope.banner.BannerAtivo == true){
var b = $scope.banner;
console.log(b);
};
};
checkBanner();
})
.catch(function onError(response) {
var data = response.data;
console.log(data);
});
});
Que irá retornar um JSON da seguinte maneira:
[
{
"BannerID": 0,
"BannerImage": "http://hotsite/Admin/PublicTempStorage/multimedia/Prancheta%201_6c99a129f82042a7b84f091395db8edb.png",
"BannerMin": "http://hotsite/Admin/PublicTempStorage/multimedia/educacaoicone_0490e29055144e18b3985b45c8ad5a28.png",
"BannerTitulo": "Xurupita Style",
"BannerDesc": "Lorem Ipsum Dolor Siamet",
"BannerAtivo": false,
"SetorId": 1
},
{
"BannerID": 2,
"BannerImage": "http://hotsite/Admin/PublicTempStorage/multimedia/536_82c7f267c6d24bc587c1de51c3d10d0a.jpg",
"BannerMin": "http://hotsite/Admin/PublicTempStorage/multimedia/horizontal-filtering-sorting-design-06-all-posters-3c61a700a607814bb6bb339a3381fbcd_62c0e1be251b49188d03b13590c7fdf7.jpg",
"BannerTitulo": "Chihuahua",
"BannerDesc": "Role",
"BannerAtivo": true,
"SetorId": 1
}
]
Estou tentando utilizar a seguinte marcação no HTML:
<div class="panel panel-default" >
<div class="col-md-6" ng-repeat="setor in setores" ng-show="{{banner.bannerAtivo}}">
<div class="panel-heading">
<h3 class="panel-title text-center">{{setor.SetorNome}}</h3>
</div>
<div class="panel-body">
<img class="img-responsive center-block" src="{{setor.SetorLogo}}">
</div>
<!-- fim panel-body -->
</div>
</div>
Porém, não estou conseguindo filtrar os valores baseados no ng-show. Assim, tenho 2 perguntas:
1 - Como eu faço para gravar uma variável apenas se certo valor da array for true? Tentei com a função no controller mas não obtive um resultado satisfatório, creio que meu JS ainda não é bom o suficiente xD
2 - Onde estou errando nesse ng-show? Gostaria de repetir apenas os banners que estiverem recebendo o banner.bannerAtivo = true
Obrigado!