Search code examples
angularjshtmlng-showng-hide

ng-hide and ng-show with a counter angularJS


I'm trying to hide a < li > and show another with angularjs. I have a counter that when is 0, it displays one < li > and when is 1 or higher, display another < li >.

HTML

<li ng-hide="getDatosMiro.dataOut({{contadorMiro}} != 0)"><a ng-click="getAlerts();$event.stopPropagation()" href="#"><img src="/NeoSANUKCRMWebProfile/static/img/u1823.png" /></a> <span>MIRO Cases <span class="exclamation">! <span class="badge" ng-controller="miroControler">{{contadorMiro}}</span></span></span></li>
<li ng-hide="getDatosMiro.dataOut({{contadorMiro}} == 0)"><a ng-click="getAlerts();$event.stopPropagation()" href="#"><img src="/NeoSANUKCRMWebProfile/static/img/u1823.png" /></a> <span style="color:#000;">MIRO Cases </span></li>

ANGULAR

var app = angular.module('angularRoutingApp');
app.controller('miroControler', ["$scope","getDatosMiro","getCRMCabecera",function($scope,getDatosMiro,getCRMCabecera) {
    $scope.inicializarDatos=function()
    {
        $scope.contadorMiro=0;
        var dataIn=getDatosMiro.dataIn;
        var dataOut=getDatosMiro.dataOut;
        if (getDatosMiro.dataOut !=0)
        {
            alert('datos de entrada');
            var total = getDatosMiro.dataOut.numeroIncidents * 1 + getDatosMiro.dataOut.numeroCompliants * 1
               + getDatosMiro.dataOut.numeroDissatisfactions * 1;

            $scope.contadorMiro=total;
        }
        else
        {
            alert('datos cero');

            //$scope.contadorMiro="-";

            $scope.contadorMiro=ng-show;

        }

    };

    // leer datos de cabecera
    getDatosMiro.checkCompletion('getDatosMiro.done',$scope).then(
        function(event)
        {
            $scope.inicializarDatos();
        });
    //
}]);

In HTML I change {{contadorMiro}} by total, change ng-hide by ng-show and I don't know what I have to do in Angular.

Can you help me please, thanx


Solution

  • You cannot use services in view, for this you have to use

    $scope.getDatosMiro = getDatosMiro;
    

    You don't need to use {{}} to pass params, delete it

    <li ng-hide="getDatosMiro.dataOut(contadorMiro) != 0)">