2016-06-24 5 views
1

Möglichkeit Array in Ergebnisvariable zu findenArray in Vorlage mit angularjs finden

$ scope.result = [1,2,6,5,4,3];

Ich habe wie unter

<li ng-show="result == 1 || result == '1,2' || result == '2,1'">Something</li> 

manuell zu überprüfen, ist es eine Abkürzung Idee, die überprüfen, ob es ein Wert in einem Array ist

Way Array in Ergebnisvariable

+0

diese Seite auf Controller tun, wird es mehr lesbar machen. – Dreamweaver

Antwort

2

einfach zu finden verwenden :

<li ng-show="result.length!=0">Something</li> 

Plunker: http://plnkr.co/edit/W8J4xdjNu7RdV4rQOtzV?p=preview

+1

Warum verwenden Sie geschweifte Klammern. Ergebnis ist eine Bereichsvariable. also keine Notwendigkeit, die geschweiften Klammern –

+0

Dank für die Einsicht zu verwenden, obwohl das Ergebnis das gleiche ist. –

3

versuchen so etwas wie dieses

<li ng-if="result.length > 0">Something</li> 
2

Sie brauchen nicht einmal < oder> dort

<li ng-show="result.length">Something</li> 

einfach zu setzen sagen ng-show="result.length" arbeiten.

2

Wenn ein Filter in ng-repeat verwendet wird, muss derselbe Filter auf ng-show angewendet werden. Falls nicht, ziehen die ng-Show wird immer auf die ganze Palette:

<div ng-show="!(tags| filter:some ng-modal name defined).length">No Tag Found</div> 

Es ist besser ng-hide

<div ng-hide="tags.length">No Tag Found</div> 

Verwenden Sie die Funktion indexOf in Array verwenden, um festzustellen, ob ein Element Teil des Arrays ist . Es wird die Position des Elements zurückgeben, wenn es gefunden wird, oder -1 zurückgeben.

ng-show = "tags.indexOf(CSS)!=-1" 

Unten finden Sie eine einfache Geige Beispiel

var myApp = angular.module('myApp', []); 
 

 
function MyCtrl($scope) { 
 

 
    $scope.tags = ['HTML', 'CSS', 'Jquery', 'Bootstrap', 'AngularJS']; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="MyCtrl"> 
 

 
    <input class="txt" type="text" ng-model="nameText" /> 
 
    <div> 
 
    <ul> 
 
     <li ng-repeat="myKeys in tags| filter:nameText">{{myKeys}}</li> 
 
    </ul> 
 
    <div ng-show="!(tags| filter:nameText).length">No Tag Found</div> 
 
    </div> 
 
</div>

Verwandte Themen