if (typeof $scope.input.gps === 'undefined') {
$scope.msgBody = 'Location not found.';
} else {
$scope.msgBody = $scope.input.gps+' not found.';
}
flash.pop({title: 'Error', body: $scope.msgBody, type: 'error'});
是否有更简单的方法来执行此if语句并将其包含在flash.pop
答案 0 :(得分:4)
清晰,易于维护的代码没有任何问题,即使最初输入的字符数较多,也可能会节省大量的时间和精力。
似乎你需要设置$ scope.msgBody的值,我不认为在作业中这样做是个好主意。考虑:
$scope.msgBody = typeof $scope.input.gps === 'undefined'? 'Location not found.' :
$scope.input.gps + ' not found.'
然而,我并不认为这更容易"。
答案 1 :(得分:3)
您可以使用$scope.msgBody = ($scope.input.gps || 'Location') + ' not found.';
。
但请注意Location
不仅会$scope.input.gps
undefined
,还会null
,""
,0
, NaN
和false
。这些值由falsy
概念涵盖,请参阅http://www.sitepoint.com/javascript-truthy-falsy/。