带有计数器的 ng-hide 和 ng-show angularJS

ng-hide and ng-show with a counter angularJS

我正在尝试隐藏一个

  • 并使用 angularjs 显示另一个。 我有一个计数器,当为 0 时,它显示一个
  • ,当为 1 或更高时,显示另一个
  • 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();
            });
        //
    }]);
    

    在 HTML 中,我将 {{contadorMiro}} 更改为 total,将 ng-hide 更改为 ng-show,但我不知道在 Angular 中我必须做什么。

    你能帮帮我吗,谢谢

  • 您不能使用视图中的服务,为此您必须使用

    $scope.getDatosMiro = getDatosMiro;
    

    你不需要使用{{}}传递参数,删除它

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

    ng-show and ng-hide 如文档中所述计算真假。

    所以这意味着您需要使用范围 $scope.contadorMiro 中可用的变量,根据您的计算,该变量需要为 0 或 1。

    将您的 html 修改为 <li ng-hide="contadorMiro != 0"></li><li ng-hide="contadorMiro == 0"></li>

    希望对您有所帮助。