三元运算符 Angular JS

Ternary Operator Angular JS

我的控制器中有 $scope.lineData[0].line。我想检查 $scope.lineData[0] != undefined ,如果是,则 $scope.lineData[0].line 否则只需添加 "0" 值。如何用 angular JS 做到这一点?

谁能帮我做这个? 提前致谢..

应该这样做:

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

更新

你也可以简单地做:

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

Angular 将从左到右合并第一个 non-null/undefined 值。

在模板中我们会这样做

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

在控制器中,我们将做

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

你可以根据你的用例来使用它,其中一些可能是:

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

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

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