我的控制器中有$scope.lineData[0].line
。我想检查$scope.lineData[0] != undefined
,如果是,那么$scope.lineData[0].line
只需要添加"0"
值。如何用angular JS做到这一点?
任何人都可以帮我这样做吗? 提前谢谢..
答案 0 :(得分:1)
这应该这样做:
{{ $scope.lineData[0] ? $scope.lineData[0].line : "0" }}
<强>更新强>
您也可以这样做:
{{ $scope.lineData[0].line || "0" }}
Angular将从左到右合并,这是第一个非null /未定义的值。
答案 1 :(得分:1)
在模板中,我们会这样做
{{ lineData[0] ? lineData[0].line : "0" }}
在Controller中,我们将会做
var some_value = $scope.lineData[0] ? $scope.lineData[0].line : "0";
答案 2 :(得分:0)
您可以根据您的用例使用它,其中很少可能是:
1)ex。 <input ng-value="getLine()" />
2)ex。 <div>{{lineData[0] ? lineData[0].line : "0"}}</div>
3)前。在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/