2016-12-26 7 views
0

Ich habe $scope.lineData[0].line in meinem Controller. Ich möchte $scope.lineData[0] != undefined überprüfen, Wenn ja, dann $scope.lineData[0].line sonst nur "0" Wert hinzuzufügen. Wie kann dies mit eckigen JS tun?Ternary Operator Angular JS

Kann mir jemand helfen, dies zu tun? Vielen Dank im Voraus ..

+1

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

+0

@Satpal: Danke .. Seine Arbeit .. – KaviSuja

Antwort

1

In Template wir würden es so etwas wie

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

In-Controller, werden wir

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

Dies sollte es tun:

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

aktualisieren

Sie könnten auch einfach tun:

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

Angular von zusammenwachsen von links nach rechts, der erste null/undefinierter Wert.

0

Sie es verwenden können nach Ihrer usecase tun, Ein paar von denen, könnte sein:

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

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

3) ab. in Controller 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/

Verwandte Themen