2016-12-26 45 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/