2016-12-26 1 views
0

J'ai $scope.lineData[0].line dans mon contrôleur. Je veux vérifier $scope.lineData[0] != undefined, Si oui, alors $scope.lineData[0].line d'autres juste "0" valeur à ajouter. Comment peut-on faire cela avec JS angulaire?Opérateur ternaire Angular JS

Quelqu'un peut-il m'aider à faire cela? Merci à l'avance ..

+1

'var x = scope.lineData $ [0]! == indéfini? $ scope.lineData [0] .line: 0; ' – Satpal

+0

@Satpal: Merci .. Son fonctionnement .. – KaviSuja

Répondre

1

dans le modèle que nous le ferions quelque chose comme

{{ lineData[0] ? lineData[0].line : "0" }} 

dans le contrôleur, nous allons faire

var some_value = $scope.lineData[0] ? $scope.lineData[0].line : "0"; 
1

Cela devrait le faire:

{{ $scope.lineData[0] ? $scope.lineData[0].line : "0" }}

Mise à jour

Vous pouvez aussi simplement faire:

{{ $scope.lineData[0].line || "0" }}

angulaire fusionneront de de gauche à droite, le premier valeur null/undefined.

0

Vous pouvez l'utiliser en fonction de votre usecase, peu de ceux qui pourraient être:

1) ex. <input ng-value="getLine()" />

2) ex. <div>{{lineData[0] ? lineData[0].line : "0"}}</div>

3) ex. dans le contrôleur, var value = $scope.lineData[0] ? $scope.lineData[0].line : "0";

HTML:

<div ng-controller="MyCtrl"> 
    <input ng-value="getLine()" /> 
    <div>{{lineData[0] ? lineData[0].line : "0"}}</div> 
</div> 

JavaScript:

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


function MyCtrl($scope) { 

    $scope.lineData = [{ 
     line : 3, 
    }]; 

    $scope.getLine = function() { 
     return $scope.lineData[0] ? $scope.lineData[0].line : "0"; 
    } 

} 

jsFiddle:http://jsfiddle.net/nikdtu/v6ezygy2/