2016-04-11 4 views
0

Controller Teil:Winkel ng-repeat mit Wert definiert oder nicht

$scope.values = [{name:'sasasa',address:'bnbnnb',phoneNumber:''},{},{},,continues]; 

Html Teil:

<span ng-repeat='value in values'> 
    name:{{value.name}} 
    phone number:{{value.phoneNumber}}</span> 

meine Absichten wie, wenn phoneNumber ist es in DOM wie NA drucken wie kann nicht präsentieren sollte Ich erreiche dies, sollte ich angular.isDefined in HTML Teil verwenden. Ich bin neu bei angularjs.

Antwort

0

Die Werte in der Bindung sind JavaScript-ähnliche Code-Snippets. Als solche können wir Vanille JS verwenden, um den Standardwert festzulegen, wenn der Wert von phoneNumber leer ist. Der folgende Code überprüft, ob der Wert der Telefonnummer ein Truthy-Wert ist, indem Sie || verwenden Operator. Wenn Wert truthy ist (wird zu true aufgelöst), wird der Wert der Telefonnummer auf den vom Objekt übergebenen Wert gesetzt. Wenn der Wert falsy ist, wird der Ausdruck zu dem von Ihnen angegebenen String, d. H. "NA", ausgewertet.

<span ng-repeat='value in values'> 
    name:{{value.name}} 
    phone number:{{value.phoneNumber||'NA'}} 
</span> 

Für Details über falsy und truthy Werte: https://developer.mozilla.org/en-US/docs/Glossary/Truthy https://developer.mozilla.org/en-US/docs/Glossary/Falsy

Für die Dokumentation auf Angular Ausdrücke überprüfen https://docs.angularjs.org/guide/expression

0
phone number:{{value.phoneNumber || 'NA'}} 
Verwandte Themen