2016-12-26 72 views
0

我在我的控制器中有$scope.lineData[0].line。我想檢查$scope.lineData[0] != undefined,如果是的話$scope.lineData[0].line其他只是"0"的值要加。如何可以與角JS做到這一點?三元操作符Angular JS

任何人都可以幫助我做到這一點? 在此先感謝..

+1

'變種X = $ scope.lineData [0]! ==未定義? $ scope.lineData [0] .line:0;' – Satpal

+0

@Satpal:謝謝..它的工作.. – KaviSuja

回答

1

在模板中,我們會做它像

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

在控制器中,我們會做

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

這應做到:

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

更新

你也可以簡單地做:

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

角將合併從左到右,空值/未定義的值。

0

您可以根據自己的用例使用它,那幾個可能:

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

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

3)ex。在控制器,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/