带有计数器的 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>
。
希望对您有所帮助。
我正在尝试隐藏一个
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>
。
希望对您有所帮助。