2014-10-08 15 views
40

Warum funktioniert das nicht?Angular ng - wenn nicht wahr

<li ng-if="!area"></li>

fühlt sich ein bisschen unlogisch, da

<li ng-if="area"></li>

funktioniert gut.

'Bereich' ist im Bereich definiert als wahr/falsch Problemumgehungen für diese? Ich würde es vorziehen, nicht ng-show/ng-hide zu verwenden, da beide Elemente in DOM rendern.

+6

Es verstecken werden sollte gut die Art und Weise arbeiten Sie tun es, haben Sie weitere Codebeispiele? –

+2

Zeigen Sie Ihren Code, wo Sie Bereich in Ihrem Controller definieren. Ich vermute, dass die Gegend truthy ist, nicht unbedingt falsch. – Beyers

+1

mögliches Duplikat von [Wie negiere ich den Parameter für AngularJS ng-if-Anweisung?] (Http://stackoverflow.com/questions/22967847/how-do-i-negate-the-parameter-for-angularjs-ng- if-Direktive) – Blackhole

Antwort

50

Verwendung dieses

ng-if = "Bereich == false"

ODER

ng-if = "Bereich == true"

kann dies jemandem helfen

+1

'== undefined' hat für mich funktioniert – Doomenik

6

Verwenden ähnliche

<div ng-if="data.IsActive === 1">InActive</div> 
<div ng-if="data.IsActive === 0">Active</div> 
+4

" In aktiv "vermittelt 'Teil von aktiv'," ** Inaktiv ** "ist ein Wort – Sandra

0

In Winkel 1, Sie ng-show und ng-hide .In Ihrem Fall verwenden können, würden Sie ng-hide verwenden. Zum Beispiel:

<li ng-hide="area"></li> 
-1

versuchen Sie dies:

<div ng-if="$scope.lenght==0" ? true : false></div> 

und ein- oder ausblenden

<div ng-show="$scope.lenght==0"></div> 

sonst wird es