使用计数器angularJS进行ng-hide和ng-show

时间:2016-01-27 12:33:02

标签: angularjs html5 ng-show ng-hide

我试图隐藏< li>并用angularjs显示另一个。 我有一个计数器,当它为0时,它显示一个< li>当为1或更高时,显示另一个< 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>

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}}更改为总计,通过ng-show更改ng-hide,我不知道我在Angular中必须做什么。

你能帮我吗,thanx

2 个答案:

答案 0 :(得分:0)

您无法在视图中使用服务,因此您必须使用

$scope.getDatosMiro = getDatosMiro;

您无需使用{{}}传递参数,将其删除

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

答案 1 :(得分:0)

如文档中所述,

ng-showng-hide正确无误。

这意味着你需要使用范围内可用的变量$ scope.contadorMiro需要根据你的计算得到0或1的数字。

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

希望这有帮助。